PHP搜索多维关联数组



我正在尝试搜索多维关联数组并在搜索后更改值。这是我的数组

 $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 key值。最后一部分和第一部分一样重要。

艾哈迈尔

你可以使用这个代码:

$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)
    }
  }
}

遍历数组的维度,如果找到键

则更改值
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

你的数组

$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);

Sandbox url: http://sandbox.onlinephpfunctions.com/code/fc2fd3a5bd3593c88efdb50c4a57b0812a7512c9

相关内容

  • 没有找到相关文章

最新更新