【问题标题】:PHP/MYSQL -Need help sorting array alphabeticallyPHP/MYSQL - 需要帮助按字母顺序排序数组
【发布时间】:2016-09-26 04:37:42
【问题描述】:

我需要以下代码按字母升序 (A-Z) 列出场地名称。现在它正在按照它们在数据库中列出的时间对场地进行排序。我在哪里调整?

     <?php for($ii = 1; $ii <= 10; $ii++): ?>
    <div class="bor_t menu_option_container"<?php if($ii != 1): ?> style="display: none;"<?php endif; ?>>
    <div class="mb20">
    <label class="ros_head alt_label" for="venue_option<?php echo $ii; ?>_note_field">VENUE OPTION <?php echo $ii; ?></label>
       <?php
            $venue_room_options = array();
            $venue_room_options["null"] = "Select a venue";

                            foreach($rooms as $room) {
                                $venue_room_options[$room->VenueID . '_' . 
                                $room->RoomID] = $room->VenueName . " - " . $room->RoomName;

                            }

                            echo form_dropdown('venue_selection' . $ii, $venue_room_options, ( set_value('venue_selection' . $ii) ) ? set_value('venue_selection' . $ii) : '1', 'id=""', array("id"=>"venue_option" . $ii));
                        ?>
                    </div> <!-- /.mb20 -->`

【问题讨论】:

  • 你试过sort($arr)吗??
  • 数组从何而来?数据库?你为什么不构建它已经排序?会比处理php数组操作函数快很多。

标签: php mysql arrays sorting


【解决方案1】:

您可以使用 php 数组函数 asort() 对数组进行排序。

在此处添加排序功能

<?php 
// your code 

 asort($venue_room_options);  // new line added
 echo form_dropdown('venue_selection' . $ii, $venue_room_options, ( set_value('venue_selection' . $ii) ) ? set_value('venue_selection' . $ii) : '1', 'id=""', array("id"=>"venue_option" . $ii));

 ....
?>

这将按场地名称-房间名称的字母顺序排序

【讨论】:

    【解决方案2】:

    在你的 foreach 循环正上方,插入以下代码:

    sort($rooms);
    

    更多信息请参考:http://php.net/manual/en/function.sort.php

    【讨论】:

      【解决方案3】:

      如果要保持键关联,请使用函数 asort like

      <?php
      ...
      asort($venue_room_options);
      echo form_dropdown('venue_selection' . $ii, $venue_room_options, ( set_value('venue_selection' . $ii) ) ? set_value('venue_selection' . $ii) : '1', 'id=""', array("id"=>"venue_option" . $ii));
      ...
      ?>
      

      有很多 PHP 函数可用于数组排序: http://php.net/manual/en/array.sorting.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-18
        • 2012-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多