【问题标题】:Function - delete 3 lasts elements [duplicate]功能-删除3个持续元素[重复]
【发布时间】:2019-10-02 23:20:01
【问题描述】:

功能不工作

$k = array('one','two','three','four','five','six','seven','eigth','nine');


    function del_el_3($array){
        for($i = 0; $i < 3; $i++){
            unset($array[array_pop($array)]);
        }
    }


    del_el_3($k);


    echo "<pre>";
    var_dump($k);
    echo "</pre>";

【问题讨论】:

  • “功能不起作用”是什么意思。我们可以提供的信息并不多。
  • 据我了解,您想从给定数组中删除最后 3 个元素,您尝试过吗? stackoverflow.com/questions/21000108/…
  • 请添加更多信息..比如你想让你的函数做什么?

标签: php


【解决方案1】:

你没有在 for 循环中使用 $i 来获取值的索引

另外,你在解除和弹出一样,都做同样的事情。

所以你应该只需要这样做:

function del_el_3($array){
    for($i = 0; $i < 3; $i++){
        unset($array[$i]);
    }
}

或者这个:

function del_el_3($array){
    for($i = 0; $i < 3; $i++){
        array_pop($array);
        print_r($a);
    }
}

这将删除 3 个元素,如果您愿意,也可以打印它们。

【讨论】:

    【解决方案2】:

    array_pop 是正确使用的函数,但我不确定你为什么要嵌套它。您可以拨打$array = array_pop($array); 3 次,或者我建议您查看this similar thread 以获得更简洁的解决方案。

    【讨论】:

      猜你喜欢
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      • 2018-07-14
      • 2023-01-02
      • 2018-02-10
      相关资源
      最近更新 更多