排序前
$arr = array(
'apple' => array('weight'=>'3'),
'orange' => array('weight'=>'5'),
'banana' => array('weight'=>'2'),
'tomato' => array('weight'=>'1'),
);
排序后(根据weight排序)
?
请教大家php怎么写
$arr = array(
'apple' => array('weight'=>'3'),
'orange' => array('weight'=>'5'),
'banana' => array('weight'=>'2'),
'tomato' => array('weight'=>'1'),
);
?
请教大家php怎么写
/**
*/
function arraySort($arr, $keys, $type = 'asc')
{
$keysvalue = $new_array = array();
foreach ($arr as $k => $v) {
$keysvalue[$k] = $v[$keys];
}
if ($type == 'asc') {
natsort($keysvalue);
}
if ($type == 'desc') {
natsort($keysvalue);
// 将原数组中的元素顺序翻转,如果第二个参数指定为 true,则元素的键名保持不变
$keysvalue = array_reverse($keysvalue, TRUE);
}
foreach ($keysvalue as $k => $v) {
$new_array[$k] = $arr[$k];
}
return $new_array;
}
$arr = arraySort($arr, "weight", "asc" );
var_dump($arr);
$arr = array(
'apple' => array('weight'=>'3'),
'orange' => array('weight'=>'5'),
'banana' => array('weight'=>'2'),
'tomato' => array('weight'=>'1'),
);
$weight = array_column($arr, 'weight');
array_multisort($weight, SORT_ASC, $arr);
var_dump($arr);
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答549 阅读✓ 已解决
779 阅读