PHP 数组按顺序排序


php array sorting in order

可能的重复项:
在 PHP
中对关联数组进行排序 在 PHP 中对多维数组进行排序?

我有一个系统,允许将订单分配给送货司机。以下来源提供了当前可用分销商的列表,以及他们与客户的距离:

$franchise_a_status = array();
  $franchise_a_status[] = array('id' => '', 'text' => 'Please Select');
  $franchise_query = mysql_query("select franchise_id, franchise_surname, franchise_firstname, franchise_postcode, franchise_availability  from " . TABLE_FRANCHISE . " where franchise_availability=1");
    $origin = $cInfo->entry_postcode;
  while ($franchise = mysql_fetch_array($franchise_query)) {
    $destination = $franchise['franchise_postcode'];
    $json = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$origin&destinations=$destination&mode=driving&sensor=false&units=imperial");
    $result = json_decode($json, true);
    $distance = $result['rows'][0]['elements'][0]['distance']['text'];

    $franchise_a_status[] = array('id' => $franchise['franchise_id'],
                                'text' => $franchise['franchise_surname']. ' ' .$franchise['franchise_firstname'].' '.'('.$distance.')');
                 }

该列表使用下拉菜单显示:

    array('text' => tep_draw_pull_down_menu('franchise_id',$franchise_a_status));   

我需要按最短距离到最高距离的顺序对数组进行排序。

  1. 将距离添加到$franchise_a_status
  2. 根据距离排序(usort)。
  3. 创建一个不带距离值(array_map 或 foreach)的新数组。