使用数组键取消设置元素

时间:2014-07-30 09:38:24

标签: php arrays unset

所以我需要删除一些数组元素,是否有简单的方法不包括foreach循环?

$privateData = ['id', 'date', 'whatever'];

foreach($privateData as $privateField) {
    unset($request[$privateField]);
}

我尝试搜索array_map array_walk函数以获取示例,但我没有找到任何函数。

2 个答案:

答案 0 :(得分:2)

$result = array_diff_key($request, array_flip(['id', 'date', 'whatever']));

答案 1 :(得分:0)

以下是使用array_map

进行操作的方法
array_map(function($privateField) use ($request) {
    unset($request[$privateField]);
}, $privateData);

您需要使用use选项从外部范围访问$request

我不知道你为什么要这样做。 foreach循环更清晰。但既然你问过。