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);
 }