【问题标题】:How do mass unset of an array elements in php? [duplicate]如何在php中批量取消设置数组元素? [复制]
【发布时间】:2012-09-12 11:41:43
【问题描述】:

可能重复:
unset range of keys in an array

我有一个数组 $test,它包含 1000 个元素,随机键在 1 到 10000 之间, 我想取消设置特定键范围的数组元素。例如,如果键值在 500 到 600 之间,我想取消设置元素。 现在我正在使用 foreach 循环来执行此操作。还有其他 php 快捷方式可以做到这一点吗?

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    这个怎么样(未经测试,手写)

    function unsetRange($arr,$from,$to)
    {
        for($i=$from;$i<=$to;$i++)
            unset($arr[$i]);
    }
    
    // Unset elements from 500 to 600
    unsetRange($myArr,500,100);
    

    【讨论】:

    • @Mihai Iorga - 我提供了他要求的代码:I want to unset array elements of particular key range. - 生成数字超出了此问题/答案的范围。 (至少国际海事组织)
    【解决方案2】:

    原文链接

    unset range of keys in an array

    你可以试试array_slice

    $return = array_slice($original, 0, 60)
    

    然后

    $return = $return+array_slice($original, 70)
    

    array_splice

    $return = array_splice($original, 60, 10)
    

    【讨论】:

    • 这是另一个问题的复制答案..您应该指定(在 stackoverflow.com/questions/2352926/… 上找到相同的答案)
    • @MateiMihai .. 链接已添加..
    • 不过,OP 声明密钥是随机的,而不是增量的
    • 从@ryeguy 复制一个值得注意的评论:This works, but it's really inefficient. You're creating 3 arrays in addition to the one you start with.
    猜你喜欢
    • 2013-10-23
    • 1970-01-01
    • 2016-02-09
    • 2019-08-27
    • 1970-01-01
    • 2014-03-21
    • 2014-02-18
    • 2021-05-29
    • 2010-09-17
    相关资源
    最近更新 更多