我有一个字符串说: Order_num = "0982asdlkj"
Order_num = "0982asdlkj"
如何在php中将其分为2个变量,分别为数字元素和字母元素?
number元素的长度可以是1到4 say之间的任何长度,字母元素可以填充其余部分,使每个order_num总共10个字符。
我已经找到了php explode函数…但是在我的情况下不知道如何制作它,因为数字的数量在1到4之间,并且之后的字母是随机的,因此无法拆分成一个特定的字母。请尽可能提供具体帮助!
explode
您可以使用preg_split使用前瞻和回顾后:
preg_split
print_r(preg_split('#(?<=\d)(?=[a-z])#i', "0982asdlkj"));
版画
Array ( [0] => 0982 [1] => asdlkj )
仅当字母部分实际上仅包含字母且没有数字时,这才起作用。
更新:
只是为了澄清这里发生的事情:
正则表达式看起来在每个位置上,如果一个数字是位置(前(?<=\d)) 和 之后(一个字母(?=[a-z])),那么它匹配和字符串在此位置获得分割。整个内容不区分大小写(i)。
(?<=\d)
(?=[a-z])
i