Rumah > Artikel > pembangunan bahagian belakang > PHP如何高效地对根据键值对数组元素进行归类?
如以下代码:
<code> $arr = [ 0 => [ "category" => "red", "price" => 95 ], 1 => [ "category" => "blue", "price" => 85 ], 2 => [ "category" => "red", "price" => 75 ] ]; //我希望将以上其归类为如下数组 [ "red" => [ 0 => [ "category" => "red", "price" => 95 ], 1 => [ "category" => "red", "price" => 75 ] ], "blue" => [ 0 => [ "category" => "blue", "price" => 85 ] ] ]</code>
希望大神能给个思路,谢谢
如以下代码:
<code> $arr = [ 0 => [ "category" => "red", "price" => 95 ], 1 => [ "category" => "blue", "price" => 85 ], 2 => [ "category" => "red", "price" => 75 ] ]; //我希望将以上其归类为如下数组 [ "red" => [ 0 => [ "category" => "red", "price" => 95 ], 1 => [ "category" => "red", "price" => 75 ] ], "blue" => [ 0 => [ "category" => "blue", "price" => 85 ] ] ]</code>
希望大神能给个思路,谢谢
<code><?php $arr = [ 0 => [ "category" => "red", "price" => 95 ], 1 => [ "category" => "blue", "price" => 85 ], 2 => [ "category" => "red", "price" => 75 ] ]; $result = array(); foreach($arr as $k=>$v){ //var_dump($v); //echo $v['price']; $key = $v['category']; if(!array_key_exists($key, $result)) $result[$key] =array(); $result[$key][] = $v; } var_dump($result);</code>
<code>function group_same_key($arr,$key){ $new_arr = array(); foreach($arr as $k=>$v ){ $new_arr[$v[$key]][] = $v; } return $new_arr; }</code>