如何在对象数组中的所有对象中取消设置键?

问题描述

我正在尝试取消对象数组中所有对象的键(基本上删除所有密码),这样做:

    foreach ( $data['users'] as $user) {
        unset($user['password']);
    }

但是看来这并不会影响“原始”数据……我该如何通过引用来做到这一点(或使该工作按“预期”进行的一切工作–我的意思是,从原始数组中的所有对象)?

解决方法

尝试:

foreach ( $data['users'] as $key => $user) {
    unset($data['users'][$key]['password']);
}

foreach ( $data['users'] as &$user) {
    unset($user['password']);
}
,

您可以像这样通过$user作为参考:

// check this --------------v
foreach ( $data['users'] as &$user) {
    unset($user['password']);
}
,

我的建议:

array_walk($data['users'],function(&$a) {unset($a['password']);});