Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP preg_拆分到数组中_Php_Regex_Arrays_Preg Split - Fatal编程技术网

PHP preg_拆分到数组中

PHP preg_拆分到数组中,php,regex,arrays,preg-split,Php,Regex,Arrays,Preg Split,我正在使用preg\u split分割一个值。我需要将拆分的每个值存储到一个数组中 目前,传递到preg拆分的内容是: preg_split("/[0-9]/", fujitsu30001 , NULL , PREG_SPLIT_OFFSET_CAPTURE); 我需要对每个数字进行拆分,使其显示为: [fujitsu, 3, 0, 0, 0, 1] 总之,在这件事上,任何帮助都将是巨大的 使用preg\u match是否更好?试试以下方法: preg_split("/(?=[0-9])/"

我正在使用
preg\u split
分割一个值。我需要将拆分的每个值存储到一个数组中

目前,传递到preg拆分的内容是:

preg_split("/[0-9]/", fujitsu30001 , NULL , PREG_SPLIT_OFFSET_CAPTURE);
我需要对每个数字进行拆分,使其显示为:

[fujitsu, 3, 0, 0, 0, 1]
总之,在这件事上,任何帮助都将是巨大的

使用
preg\u match
是否更好?

试试以下方法:

preg_split("/(?=[0-9])/", 'fujitsu30001');

您应该使用匹配而不是拆分:

preg_match_all('/[a-z]+|\d/i', 'fujitsu30001', $matches);
print_r($matches[0]);
表达式与以下任一项匹配:

  • 一系列字母或字母
  • 一位数

  • 重复此操作,直到主题结束。

    我通过preg_split成功完成此操作:

    $regex= "#([0-9])#";
    $string = 'fujitsu30001';                    
    $array = preg_split($regex, $string, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
    
    它在敲击一个数字时分割字符串,使其显示为

    富士通, 3. 0, 0, 0,
    1

    所以您希望输出仅包含fujitsu 30001的数组??我假设fujitsu,3,0,0,1请注意,
    fujitsu30001
    引用了具有该名称的
    常量<代码>'fujitsu30001'
    “fujitsu30001”
    指包含该内容的字符串。