繁体   English   中英

从foreach PHP的数组中删除值

[英]Remove values from array on foreach PHP

我有一个像这样的数组:

    Array
(
    [0] => Array
        (
            [id] => 68
            [type] => onetype
            [type_id] => 131
            [name] => name1
        )

    [1] => Array
        (
            [id] => 32
            [type] => anothertype
            [type_id] => 101
            [name] => name2
        )
)

如果用户拥有权限或没有这种类型的权限,则需要从中删除一些数组。 我正在考虑对每个对象进行操作,并在其中进行必要的if操作以将其删除或保留。

我的问题是:最有效的方法是什么? 该数组将不超过100条记录。 但是有几个用户会请求它,并一遍又一遍地进行过滤。

使用in_array()函数,以便可以找到要删除的数组。

然后使用unset()函数取消设置要从现有数组中删除的数组或变量。

在这条路上,你不需要一遍又一遍地循环您的阵列。

使用这个1简单易用

foreach ($display_related_tags as $key => $tag_name) {
    if($tag_name == $found_tag['name']) {
       unset($display_related_tags[$key]);
     }
 }

我认为您了解PHP和剥离数组的基础。

剥离数组后可以执行的操作将其存储在会话中,以供刷新页面或加载其他页面后重用。 这样,您只需要做一次。

请参阅: http//www.php.net/manual/en/function.session-start.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM