在PHP中爆炸字符串

str*_*ade 3 php explode

我如何爆炸这个字符串'||25||34||73||94||116||128' 我需要有这样的数组

array (
 0 => '25',
 1 => '34',
 2 => '73',
 3 => '94',
 4 => '116',
 5 => '128'
)
Run Code Online (Sandbox Code Playgroud)

explode("||",$ array); 没有为我工作我得到这个数组

array (
 0 => '',
 1 => '25',
 2 => '34',
 3 => '73',
 4 => '94',
 5 => '116',
 6 => '128',
) 
Run Code Online (Sandbox Code Playgroud)

Ada*_*iss 12

$array = explode('||', trim($string, '|'));
Run Code Online (Sandbox Code Playgroud)


Pas*_*TIN 5

一个解决方案,特别是如果你可以在字符串中间有空值,可以使用preg_split它的PREG_SPLIT_NO_EMPTY标志:

$str = '||25||34||73||94||116||128';
$array = preg_split('/\|\|/', $str, -1, PREG_SPLIT_NO_EMPTY);
var_dump($array);
Run Code Online (Sandbox Code Playgroud)

会给你 :

array
  0 => string '25' (length=2)
  1 => string '34' (length=2)
  2 => string '73' (length=2)
  3 => string '94' (length=2)
  4 => string '116' (length=3)
  5 => string '128' (length=3)
Run Code Online (Sandbox Code Playgroud)


但是,如果你在字符串中间永远不会有空值,那么explode即使你必须||在调用它之前删除字符串的开头和结尾处,它的使用速度会更快.