我正在尝试使用PHP从一个关联数组中删除键值,但该键值无法正常工作。我在下面解释我的代码。
<?php
$resultArr=array(array("stars"=>"3","starcount"=>3),array("stars"=>"4","starcount"=>4),array("stars"=>"5","starcount"=>5));
foreach ($resultArr as $key => $value) {
if (array_key_exists("stars", $value)) {
unset($value['stars']);
}
}
echo json_encode($resultArr);
?>
在这里,我需要从json数组中删除所有stars
键及其值,但是我的代码无法正常工作。
答案 0 :(得分:0)
尝试一下
$resultArr=array(array("stars"=>"3","starcount"=>3),array("stars"=>"4","starcount"=>4),array("stars"=>"5","starcount"=>5));
foreach ($resultArr as $key => $value) {
if (array_key_exists("stars", $value)) {
unset($resultArr[$key]['stars']);
}
}
echo json_encode($resultArr);
说明
您应该使用$ key从$ resultArr数组中取消设置键
答案 1 :(得分:0)
分隔键和值:
foreach ($resultArr as $key => $value) {
echo $key;
echo $value
}
答案 2 :(得分:0)
Foreach语句复制value,这意味着$ value变量具有元素的副本而不是原始元素。 您可以使用按键访问来直接访问数组元素,例如:
foreach ($resultArr as $key => $value) {
if (array_key_exists("stars", $value)) {
unset($resultArr[$key]['stars']);
}
}
此外,您可以使用references
foreach ($resultArr as $key => &$value) {
if (array_key_exists("stars", $value)) {
unset($value['stars']);
}
}