Php 将字符串中的空格收缩为单个分隔符

Php 将字符串中的空格收缩为单个分隔符,php,string,space,explode,delimiter,Php,String,Space,Explode,Delimiter,在PHP中,我有一个字符串变量: $var = " 00480722 ZF452D041502 13 9900 153370178"; 当我进行分解时,我得到如下结果: $var = explode(" ",$var); echo count($var); // prints -> 36 因此,这个分解生成了一个由36个元素组成的数组,其中大部分是“”。如何缩小数据之间的所有多个空格,以便进行分解,只需获得: $var[0]

在PHP中,我有一个字符串变量:

$var = " 00480722                ZF452D041502    13      9900        153370178";
当我进行分解时,我得到如下结果:

$var = explode(" ",$var);
echo count($var);

// prints -> 36
因此,这个分解生成了一个由36个元素组成的数组,其中大部分是
”。如何缩小数据之间的所有多个空格,以便进行分解,只需获得:

$var[0] -> 00480722
$var[1] -> ZF452D041502
...
$var[4] -> 153370178
您可以使用:

这将根据任意数量的连续空格字符进行拆分。用于防止输入字符串开头和/或结尾出现空匹配。

您可以使用:

$var = array_values(array_filter($var));
这将根据任意数量的连续空格字符进行拆分。用于防止输入字符串开头和/或结尾出现空匹配。

请重试

$var = array_values(array_filter($var));
输出

5
变量转储

var_dump($var);

  array
  1 => string '00480722' (length=8)
  17 => string 'ZF452D041502' (length=12)
  21 => string '13' (length=2)
  27 => string '9900' (length=4)
  35 => string '153370178' (length=9)
谢谢

试试看

输出

5
变量转储

var_dump($var);

  array
  1 => string '00480722' (length=8)
  17 => string 'ZF452D041502' (length=12)
  21 => string '13' (length=2)
  27 => string '9900' (length=4)
  35 => string '153370178' (length=9)

感谢另一种选择,将多个空格替换为单个空格:

$var = preg_replace("/ {2,}/", " ", $var); //spaces only
$var = preg_replace("/\s{2,}/", " ", $var); //all whitespaces e.g. line breaks, space etc.

另一种选择是将多个空间替换为单个空间:

$var = preg_replace("/ {2,}/", " ", $var); //spaces only
$var = preg_replace("/\s{2,}/", " ", $var); //all whitespaces e.g. line breaks, space etc.