kal*_*tch 5 php multidimensional-array
我有以下数组.我需要通过嵌套数组键[id]对此数组进行排序:
Array (
[0] => Array ( [id] => 5 [category_id] => 12 )
[1] => Array ( [id] => 3 [category_id] => 12 )
[2] => Array ( [id] => 9 [category_id] => 12 )
[3] => Array ( [id] => 4 [category_id] => 12 )
)
Run Code Online (Sandbox Code Playgroud)
使用usort使用自定义比较函数.
<?php
function cmp($a, $b) {
if ($a['id'] == $b['id'])
return 0;
return $a['id'] < $b['id'] ? -1 : 1;
}
$array = Array (
0 => Array ( 'id' => 5, 'category_id' => 12 ),
1 => Array ( 'id' => 4, 'category_id' => 12 ),
2 => Array ( 'id' => 7, 'category_id' => 12 ),
3 => Array ( 'id' => 3, 'category_id' => 12 ),
);
usort($array, 'cmp');
// Output: 3 4 5 7
foreach ($array as $element)
echo $element['id'], " ";
Run Code Online (Sandbox Code Playgroud)
你可以这样做
foreach($arr as $val) {
$ret[$val['id']] = $val['category_id'];
}
ksort($ret);
Run Code Online (Sandbox Code Playgroud)
如果您想对相同的数组进行排序,则可以添加以下代码:
foreach($ret as $key=>$val) {
$newArr[] = array('id'=>$key,'category_id'=>$val);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |