如何获取一系列数组

How to get a range of arrays

我有一个代码,我必须使用“*”作为分隔符来展开我的文本。

我有一个模式,总是排除数组 [0] 和 [1],其余的需要包含在一个变量中,但我的问题是我不知道如何动态捕获其余的数组,我必须将它们全部放在其中。

特别是因为我的文字可能有更多的“*”并分解成更多的部分,但我必须把它们放在一起。不包括 [0] 和 [1]

$item= explode("*",$c7);

        print_r($item);

//so now that I know which are my [0] and [1] arrays I need to get the rest of them inside of another variable

$variable = ?? //the rest of the $item arrays

我认为根据你的问题,如果我对它的解释正确,下面的内容将会很有用。

使用循环

$str = "adssa*asdASD*AS*DA*SD*ASD*AS*DAS*D";
$parts = explode("*", $str);

$newStr = "";
for ($i = 2; $i < count($parts); ++$i) {
    $newStr .= $parts[$i];
}
$str = 'a*b*c*d*e';
$newStr = implode('*', array_slice(explode('*', $str), 2)); // OUTPUT: c*d*e

explode() 用于通过分隔符

对字符串进行分块

implode() 用于从块

再次构建字符串

array_slice()用于select范围内的元素

我知道一个答案已经被接受了,但是 explode has a third argument for this, and with end 你可以抓住最后一个未拆分的部分:

$str = 'a*b*c*d*e';
$res = end(explode("*", $str, 3));

$res 结果得到这个值:

c*d*e