您好我正在尝试更新多维数组中的值,这个数据无效,任何人都可以告诉我下面代码中的问题。
<?php
$array_m= array();
array_push($array_m,array('md5'=>'a','count'=>1));
array_push($array_m,array('md5'=>'b','count'=>1));
foreach ($array_m as $key=>$val)
{
if($val['md5']=='a') {
$val['count'] =5;
break;
}
}
print_r($array_m);
答案 0 :(得分:3)
foreach ($array_m as $key=>$val)
这只是遍历值,你无法更新它们。您需要使用引用,以便更新阵列。
foreach ($array_m as $key=>&$val)
请注意&
,这将使其成为参考。
答案 1 :(得分:2)
你有$key
所以你可以使用它来引用数组:
if($val['md5']=='a') {
$array_m[$key]['count'] = 5;
break;
}
答案 2 :(得分:0)
您应该像以下一样更改您的代码,
<?php
$array_m= array();
$array_m[] = array('md5'=>'a','count'=>1);
$array_m[] = array('md5'=>'b','count'=>1);
foreach ($array_m as $key=>$val)
{
if($val['md5']=='a') {
$val['count'] =5;
break;
}
}
print_r($array_m);
答案 3 :(得分:0)
您可以像这样设置值5:
$array_m[$key]['count'] = 5;