【问题标题】:PHP re-order array of month names(associative array)PHP重新排序月份名称数组(关联数组)
【发布时间】:2017-11-28 06:45:33
【问题描述】:

我正在尝试重新排序具有标签值对的关联数组。我正在按字母顺序排列标签数据。但我需要以月份数组的形式对数组进行排序。 我的输入如下所示:

Array
(
    [0] => Array
        (
            [label] => August
            [value] => 100.55
        )

    [1] => Array
        (
            [label] => November
            [value] => 100.24
        )

    [2] => Array
        (
            [label] => October
            [value] => 99.19
        )

    [3] => Array
        (
            [label] => September
            [value] => 100.11
        )

)

输出: 在输出数组中,我需要将数组订购为 8 月、9 月、10 月、11 月。请有任何建议

【问题讨论】:

  • @u_mulder,这不是您提供的问题的重复。
  • 你可以使用array_shift()。请在此链接上查看答案stackoverflow.com/questions/15936309/…
  • 假设您的数组是 $original_array。然后使用此代码 $val){ if($key=array_search($val['label'], $months)){ $result[$key]=array('label'=>$val[ '标签'],'值'=>$val['值']); } } ksort($result); print_r($结果); ?>
  • @u_mulder 这个问题不是重复的,请重新打开
  • NO,我不会重新提出这个问题。是的,它是一个重复。 OP 在研究任务方面没有表现出任何努力,所以欺骗是一个起点。

标签: php arrays


【解决方案1】:

制作order数组,然后按usort函数排序

$seq = array_flip([ 'August', 'September', 'October',  'November' ]);

usort($arr, function ($i1, $i2) use($seq) { return $seq[$i1['label']] - $seq[$i2['label']]; });  

demo

【讨论】:

    猜你喜欢
    • 2012-09-07
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2011-01-28
    • 1970-01-01
    • 2021-05-08
    相关资源
    最近更新 更多