一尘不染

PHP将字符串拆分为整数元素和字符串

php

我有一个字符串说: Order_num = "0982asdlkj"

如何在php中将其分为2个变量,分别为数字元素和字母元素?

number元素的长度可以是1到4 say之间的任何长度,字母元素可以填充其余部分,使每个order_num总共10个字符。

我已经找到了php
explode函数…但是在我的情况下不知道如何制作它,因为数字的数量在1到4之间,并且之后的字母是随机的,因此无法拆分成一个特定的字母。请尽可能提供具体帮助!


阅读 662

收藏
2020-05-29

共1个答案

一尘不染

您可以使用preg_split使用前瞻和回顾后

print_r(preg_split('#(?<=\d)(?=[a-z])#i', "0982asdlkj"));

版画

Array
(
    [0] => 0982
    [1] => asdlkj
)

仅当字母部分实际上仅包含字母且没有数字时,这才起作用。

更新:

只是为了澄清这里发生的事情:

正则表达式看起来在每个位置上,如果一个数字是位置(前(?<=\d)
之后(一个字母(?=[a-z])),那么它匹配和字符串在此位置获得分割。整个内容不区分大小写(i)。

2020-05-29