爆炸字符串php

时间:2011-07-23 07:12:28

标签: php

$string = "|1|2|3|4|";
$array = explode("|", $string, -1); 

foreach ($array as $part) {
    echo $part."-";
}

我在爆炸中使用-1跳过最后一个“|”在字符串中。但是,如果我还想跳过第一个“|”,我该怎么办?

4 个答案:

答案 0 :(得分:11)

您可以使用trim从字符串的开头和结尾剥离|,然后可以使用爆炸。

$string = "|1|2|3|4|";
$array = explode("|", trim($string,'|')); 

答案 1 :(得分:4)

preg_split()及其PREG_SPLIT_NO_EMPTY选项应该在这里完成。

并且有很大的优势:它甚至会在字符串的中间跳过空白部分 - 而不仅仅是在它的开头或结尾。


以下代码部分:

$string = "|1|2|3|4|";
$parts = preg_split('/\|/', $string, -1, PREG_SPLIT_NO_EMPTY);
var_dump($parts);


会给你这个结果数组:

array
  0 => string '1' (length=1)
  1 => string '2' (length=1)
  2 => string '3' (length=1)
  3 => string '4' (length=1)

答案 2 :(得分:0)

先取一个子串,然后爆炸。 http://codepad.org/4CLZqkle

<?php

$string = "|1|2|3|4|";
$string = substr($string,1,-1);
$array = explode("|", $string); 

foreach ($array as $part) {
    echo $part."-";
}
echo PHP_EOL ;

/* or use implode to join */
echo implode("-",$array);

?>

答案 3 :(得分:0)

您可以使用array_shift()删除数组中的第一个元素。