dspym82000 2014-06-21 10:21 采纳率: 100%
浏览 38
已采纳

PHP搜索多维关联数组

I am trying to search a multi-dimensional associative array and change a value after searching. Here is what my array looks like

 $arr=Array ( [0] => Array ( [1] => 
    Array ( [keyword] => 2014 
            [count] => 97 
            [percent] => 4.91 )))

So what I am trying to do is to search for keyword and if found then increase the count on that particular index where keyword was found.

So I am trying to do something like:

if(in_array("2014", $arr))
{
//then add 100 to count that is 100+97

}

So what will be the best way to go about this.

Note: I am trying to search a value in the array and if found then update the value of count key on that particular index. The last part is as important as first.

Ahmar

  • 写回答

3条回答 默认 最新

  • doushang7209 2014-06-21 11:00
    关注

    you can use that code:

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

    Result:

    array(1) {
      [0]=>
      array(1) {
        [1]=>
        array(3) {
          ["keyword"]=>
          int(2014)
          ["count"]=>
          int(197)
          ["percent"]=>
          float(4.91)
        }
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分