duandao2306 2017-06-16 22:30
浏览 72
已采纳

计算值在此数组中出现的次数?

I have this php array named $ids:

Array ( 
     [0] => Array ( [id] => 10101101 ) 
     [1] => Array ( [id] => 18581768 ) 
     [2] => Array ( [id] => 55533322 ) 
     [3] => Array ( [id] => 55533322 ) 
     [4] => Array ( [id] => 64621412 )
)

And I need to make a new array containing each $ids id value, as the new keys, and the times each one appears, as the new values.

Something like this:

$newArr = array(
    10101101 => 1,
    18581768 => 1,
    55533322 => 2,
    64621412 => 1,
);

This is what I have:

$newArr = array();
$aux1 = "";

//$arr is the original array
for($i=0; $i<count($arr); $i++){
    $val = $arr[$i]["id"];
    if($val != $aux1){
        $newArr[$val] = count(array_keys($arr, $val));
        $aux1 = $val;
    }
}

I supose array_keys doesn't work here because $arr has the id values in the second dimension.

So, how can I make this work?

Sorry for my bad english and thanks.

  • 写回答

3条回答 默认 最新

  • drvntaomy06331839 2017-06-16 22:35
    关注

    array_column will create an array of all the elements in a specific column of a 2-D array, and array_count_values will count the repetitions of each value in an array.

    $newArr = array_count_values(array_column($ids, 'id'));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘