$string = "|1|2|3|4|";
$array = explode("|", $string, -1);
foreach ($array as $part) {
echo $part."-";
}
我在爆炸中使用-1跳过最后一个“|”在字符串中。但是,如果我还想跳过第一个“|”,我该怎么办?
答案 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()
删除数组中的第一个元素。