PHP:从关联数组中删除除最后两个元素之外的所有元素
PHP: Remove all but the last two element from an associative array
我有以下字符串:"Bikes->Hardtails->XC"
。我正在分解 "->"
个字符上的数组,以将单个单词拆分为关联数组中的元素。如果数组有两个以上的元素,我会尝试删除最后两个元素之前的所有数组元素。所以在下面的数组中,我想删除索引 0
及其关联,然后我会内爆。
[0] => Bikes, [1] => Hardtails, [2] => XC
到目前为止,我有以下代码,目前看起来还不错。但是我正在努力完成它。
$cat_path = explode("->",$cat_path);
if(count($cat_path,1) > 2){
foreach($cat_path as $path){
$counter = count($cat_path,1);
$remove = $counter -2;
}
}
最好的解决方案是使用嵌套循环来取消不需要的索引及其关联吗?
您可以使用array_slice()
if (is_array($cat_path) && count($cat_path) > 2) {
$cat_path = array_slice($cat_path, -2);
}
我有以下字符串:"Bikes->Hardtails->XC"
。我正在分解 "->"
个字符上的数组,以将单个单词拆分为关联数组中的元素。如果数组有两个以上的元素,我会尝试删除最后两个元素之前的所有数组元素。所以在下面的数组中,我想删除索引 0
及其关联,然后我会内爆。
[0] => Bikes, [1] => Hardtails, [2] => XC
到目前为止,我有以下代码,目前看起来还不错。但是我正在努力完成它。
$cat_path = explode("->",$cat_path);
if(count($cat_path,1) > 2){
foreach($cat_path as $path){
$counter = count($cat_path,1);
$remove = $counter -2;
}
}
最好的解决方案是使用嵌套循环来取消不需要的索引及其关联吗?
您可以使用array_slice()
if (is_array($cat_path) && count($cat_path) > 2) {
$cat_path = array_slice($cat_path, -2);
}