如何获取一系列数组
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
我有一个代码,我必须使用“*”作为分隔符来展开我的文本。
我有一个模式,总是排除数组 [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