PHP通过键上的特定开始对数组进行排序/重新排序

希伦·布特(Hiren Bhut)

我想根据起始值对数组元素进行排序或重新排序。

我的数组:

[
    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'
]
拉克什·贾卡(Rakesh Jakhar)

您可以使用 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章