【问题标题】:Sort hours in PHP [duplicate]在PHP中排序时间[重复]
【发布时间】:2012-03-30 05:00:22
【问题描述】:

可能重复:
How do I sort a multidimensional array in php
Sorting an associative array in PHP

我有一系列的时间、标题和描述,但时间是无序的(12:00、04:15、18:30、10:20...)

这是我的 PHP 代码:

$content = simplexml_load_file( $sampleXML );
foreach( $content->item as $item ) {

    echo $item->hour;
    echo $item->title;
    echo $item->description;    
}

这是一个 XML 示例:

<item>
    <hour>12:00</hour>
    <title>Sample Title 1</title>
    <description>Sample Description 1</description>
</item>

<item>
    <hour>04:15</hour>
    <title>Sample Title 1</title>
    <description>Sample Description 1</description>
</item>

<item>
    <hour>18:30</hour>
    <title>Sample Title 1</title>
    <description>Sample Description 1</description>
</item>

我需要使用相应的标题和描述对时间进行排序。我该怎么做?

【问题讨论】:

    标签: php xml


    【解决方案1】:

    您可以使用usort() 并向其传递一个函数,该函数将知道如何使用时间来比较两个 XML 节点以对其进行排序。

    【讨论】:

      【解决方案2】:

      这应该适用于您的示例中的 24 小时格式:

      usort($a, create_function('$a, $b', 'return strcmp($a->hour, $b->hour);'));
      

      【讨论】:

        猜你喜欢
        • 2018-05-27
        • 2017-10-06
        • 1970-01-01
        • 2018-06-19
        • 1970-01-01
        • 1970-01-01
        • 2017-02-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多