php - 阵列取消设置键

标签 php arrays

开门见山

我有一个如下所示的数组 ($is_anonymous_ary):

array (
  [80] => 1
  [57] => 1
  [66] =>
  [60] => 
  [90] => 1
)

还有另一个像这样的数组 ($user_id_ary):

array (
  [0] => 80
  [1] => 30
  [2] => 57
  [3] => 89
  [4] => 66
  [5] => 60
  [6] => 90
)

我需要根据第一个数组取消设置 $user_id_ary 上的值。因此,如果 $is_anonymous_ary 的值为 1(真),则从该数组中取出 key ,检查 $user_id_ary,并取消设置 $ 的 key user_id_ary 具有来自 $is_anonymous_ary 的键的值。

我的描述有点复杂,这是我需要最终结果的方式:

user_id_ary = array(
  [0] => 30
  [1] => 89
  [2] => 66
  [3] => 60
)

如您所见,$is_anonymous_ary 中具有 TRUE 值的所有键均已消失在第二个数组中。它将第一个数组中的键作为第二个数组中的值。

希望我说清楚了。

最佳答案

尝试 array_filter :

$user_id_ary = array_filter($user_id_ary, function($var) use ($is_anonymous_ary) {
  return !(isset($is_anonymous_ary[$var]) && $is_anonymous_ary[$var] === 1);
});

关于php - 阵列取消设置键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12726707/

相关文章:

php - 如何在使用 imagerotate() 旋转图像后获得新的宽度和高度?

php - 基于 "visible"项目的 sql 项目编号

php - Eloquent ORM - 模型关系

php - curl 超时小于 1000 毫秒总是失败?

java - 对字符串和整数执行 + 的混淆

C-函数和数组

PHPUNIT 模拟与 at() 功能的工作很奇怪

javascript 函数 括号内的反转函数

javascript - 同时映射和过滤数组

arrays - 集合/数组包含方法