2011-12-28 53 views
19

我知道“爆炸”拆分字符串,并将其变成每个发生的数组。但是,如何在第一次出现时分开,并在第一次出现之后保留所有内容?如何在第一次出现的东西上分割出一个字符串?

例子:

$split = explode('-', 'orange-yellow-red'); 
echo $split[1]; // output: "yellow" 

^我想这对输出:黄红

$split = explode('-', 'chocolate-vanilla-blueberry-red'); 
echo $split[1]; // output: "vanilla" 

^我想这对输出:香草蓝莓,红

回答

34

您可以通过limitexplode第三个参数,将做的工作。

$split = explode('-', 'orange-yellow-red',2); 
echo $split[1]; //output yellow-red 
+1

谢谢!!!!!!!我不知道! – supercoolville 2011-12-28 09:55:43

+0

谢谢你节省了我的时间.. – khushi 2017-06-09 11:01:34

-1

也许正则表达式?

[^-]+- 
+0

正则表达式是方法比简单的更昂贵的'爆炸('sep','foobar',2);' – tdammers 2011-12-28 09:53:53

6

看一看的explode第三个参数:

$limit

如果限制设置和肯定的,则返回的数组将一个最大限制元件的包含与包含的最后一个元素弦的其余部分。

如果limit参数为负数,则返回除last-limit之外的所有组件。

如果限制参数为零,那么这个被视为1.

$a=explode('-','chocolate-vanilla-blueberry-red', 2); 
echo $a[1]; // outputs vanilla-blueberry-red 
1
$split = explode('-', 'chocolate-vanilla-blueberry-red'); 
unset($split[0]); 
echo implode('-', $split); # vanilla-blueberry-red 
0

没有变量A液:

相关问题