我正在尝试从数组中删除键/值对,但它似乎不起作用。基本上,我进行了一个API调用,它返回了JSON。就这样我
$tempArray = json_decode($projects, true);
如果我输出$ tempArray我会看到类似的东西
array:2 [
0 => array:9 [
"id" => 4
"name" => "Some Project Name"
"value" => "234"
"user_id" => "1"
"client_id" => "97"
"contact" => "Jane Berry"
]
1 => array:9 [
"id" => 3
"name" => "Another Project Name"
"value" => "6"
"user_id" => "1"
"client_id" => "97"
"contact" => "John Doe"
]
]
我本质上需要删除值元素,所以我这样做
unset($tempArray['value']);
如果在取消设置后输出$ tempArray,则显示的内容与以前完全相同,其中有value元素和value。
我需要怎么做才能将其从阵列中完全删除?
谢谢
unset
不会递归查看子数组以删除key value
。仅当您具有第一级的键时,value
才会删除该键。在您的数组中,第一级键是:0和1。因此,value
要从所有子数组中删除,您必须将所有项从数组及其中抛出unset
。您可以使用简单的方法来完成此操作foreach
。
foreach($tempArray as $key => $data) {
unset($data['value']);
$tempArray[$key] = $data; //Overwrite old data with new with value unset.
}
现在,您将不再需要value
子数组项中的键。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句