我想根据起始值对数组元素进行排序或重新排序。
我的数组:
[
0 => 'Sun',
1 => 'Mon',
2 => 'Tue',
3 => 'Wed',
4 => 'Thu',
5 => 'Fri',
6 => 'Sat'
]
$ startOn = 3;
预期产量:
[
3 => 'Wed',
4 => 'Thu',
5 => 'Fri',
6 => 'Sat',
0 => 'Sun',
1 => 'Mon',
2 => 'Tue',
]
我尝试使用uksort
,但未返回预期的输出。
uksort($weekDays, function ($a, $b) use ($startOn) {
return $startOn-$a;
});
电流输出
[
3 => 'Wed'
4 => 'Thu'
5 => 'Fri'
6 => 'Sat'
2 => 'Tue'
1 => 'Mon'
0 => 'Sun'
]
您可以使用 foreach
$start = 3;
$r1 = $r2 = [];
foreach($a as $k => $v){
($k >= $start) ? ($r1[$k]=$v) : ($r2[$k]=$v);
}
$r = $r1 + $r2;
print_r($r);
工作示例:-https : //3v4l.org/1KDoR
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句