我知道“explode”会拆分字符串并将其转换为每次出现的数组。但是,如何在第一次出现时拆分并在第一次出现后保留所有内容?
示例:
$split = explode('-', 'orange-yellow-red');
echo $split[1]; // output: "yellow"
^我希望输出:黄红色
$split = explode('-', 'chocolate-vanilla-blueberry-red');
echo $split[1]; // output: "vanilla"
^我希望输出: vanilla-blueberry-red
答案 0 :(得分:43)
您可以将limit
作为explode
的第三个参数传递给您。
$split = explode('-', 'orange-yellow-red',2);
echo $split[1]; //output yellow-red
答案 1 :(得分:7)
查看explode
的第三个参数:
$limit
如果设置了limit并且为正数,则返回的数组将包含最多限制元素,最后一个元素包含其余字符串。
如果limit参数为负数,则返回除最后一个限制之外的所有组件。
如果limit参数为零,则将其视为1。
$a=explode('-','chocolate-vanilla-blueberry-red', 2);
echo $a[1]; // outputs vanilla-blueberry-red
答案 2 :(得分:1)
$split = explode('-', 'chocolate-vanilla-blueberry-red');
unset($split[0]);
echo implode('-', $split); # vanilla-blueberry-red
答案 3 :(得分:0)
没有变量的解决方案:
strtok('orange-yellow-red', '-');
echo strtok(null);
答案 4 :(得分:-1)
也许正则表达式?
[^-]+-