我正在尝试搜索多维关联数组并在搜索后更改值。这是我的数组的样子
$arr=Array ( [0] => Array ( [1] =>
Array ( [keyword] => 2014
[count] => 97
[percent] => 4.91 )))
所以我要做的是搜索关键字,如果找到,则增加找到关键字的特定索引的计数。
所以我想尝试做类似的事情:
if(in_array("2014", $arr))
{
//then add 100 to count that is 100+97
}
那么最好的方法是什么呢。
注意:我正在尝试搜索数组中的值,如果找到,则更新该特定索引上的count键值。最后一部分和第一部分一样重要。
艾哈迈尔
答案 0 :(得分:1)
遍历数组的维度,如果找到键
,则更改值foreach ($arr as $key => $val) {
foreach ($arr[$key] as $keyy => $val) {
foreach ($arr[$key][$keyy] as $keyyy => $val) {
if($arr[$key][$keyy]['keyword'] == 2014){
$arr[$key][$keyy]['count'] = $arr[$key][$keyy]['count']+100;
break;
}
}
}
}
希望它有所帮助; D
答案 1 :(得分:1)
您可以使用该代码:
$arr = Array(
0 => Array(
1 => Array(
'keyword' => 2014,
'count' => 97,
'percent' => 4.91
)
)
);
foreach ($arr as &$arr1) {
foreach ($arr1 as &$arr2) {
if (2014 == $arr2['keyword']) {
$arr2['count'] += 100;
}
}
}
unset($arr2, $arr1);
结果:
array(1) {
[0]=>
array(1) {
[1]=>
array(3) {
["keyword"]=>
int(2014)
["count"]=>
int(197)
["percent"]=>
float(4.91)
}
}
}
答案 2 :(得分:0)
你的数组
$arr=array( "0" => array( "1" =>
array( "keyword" => 2014 ,
"count" => 97,
"percent" => 4.91 ),
"2"=> array( "keyword" => 2015,
"count" => 5,
"percent" => 4.91 )));
代码
foreach($arr as $key => &$val) {
foreach($val as $mm => &$aa) {
if("2014" == $aa['keyword']) {
$aa["count"] = $aa["count"]+ 100;
}
}
}
print_r($arr);
沙盒网址:http://sandbox.onlinephpfunctions.com/code/fc2fd3a5bd3593c88efdb50c4a57b0812a7512c9