use*_*996 5 php arrays sorting
我需要按值对数组进行排序,但如果元素的值相等,我需要比较它们的键并按它们排序.
uasort($pages_arr, function($a, $b){
if ($a == $b){
return ($key_a < $key_b) ? -1 : 1;
}
return ($a < $b) ? -1 : 1;
});
Run Code Online (Sandbox Code Playgroud)
我不明白,我怎么能得到$ key_a和$ key_b值(元素$ a和$ b的键).值可以相同,键不是; 如何解决这个问题?
尝试以下,使用该uksort功能:
uksort($pages_arr, function($key_a, $key_b) use ($pages_arr) {
$a = $pages_arr[$key_a];
$b = $pages_arr[$key_b];
if ($a == $b) {
return ($key_a < $key_b) ? -1 : 1;
}
return ($a < $b) ? -1 : 1;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
455 次 |
| 最近记录: |