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