如何使用PHP語言實現城市ABC排列功能

PHPz
發布: 2023-04-25 18:44:19
原創
897 人瀏覽過

在進行網站或應用程式開發時,常常需要將城市名稱依照字母順序排列,這樣可以方便使用者尋找和瀏覽。本文將介紹如何使用PHP語言實現城市ABC排列功能。

1.取得城市資料

首先,需要取得城市資料。可以從第三方資料來源取得城市列表,也可以自己在程式中定義城市數組。以下範例程式碼為手動定義城市陣列:

$cities = array(
    '北京', '上海', '广州', '深圳', '杭州', '南京', '成都', 
    '重庆', '长沙', '武汉', '西安', '天津', '青岛', '大连', 
    '沈阳', '郑州', '石家庄', '哈尔滨', '济南', '南昌', '福州',
    '厦门', '昆明', '太原', '兰州'
);
登入後複製

2.實作城市ABC排列

接下來,需要透過PHP函數實現城市ABC排列功能。以下範例程式碼為一種實作方式:

function cityABC($data) {
    $result = array();

    foreach ($data as $k => $v) {
        $first = mb_substr($v, 0, 1, 'utf-8');
        $result[$first][] = $v;
    }
    
    ksort($result);
    
    return $result;
}
登入後複製

上述程式碼中,函數 cityABC() 傳入一個城市數組,並傳回一個依照城市首字母排序的多維數組。在函數中使用了 mb_substr() 函數來取得每個城市名稱的首字母,並將城市依照首字母分組,最後使用 ksort() 函數對分組後的城市數組進行依照字母順序排序。

3.顯示城市ABC排列結果

最後,將城市ABC排列結果顯示在頁面上。下列範例程式碼為一種顯示方式:

$city_ABC = cityABC($cities);
foreach ($city_ABC as $key => $value) {
    echo '<hr>';
    echo '<h2>' . $key . '</h2>';
    echo '<ul>';
    foreach ($value as $val) {
        echo '<li>' . $val . '</li>';
    }
    echo '</ul>';
}
登入後複製

以上程式碼中,首先呼叫cityABC() 函數對城市數組進行依照首字母排序,接著使用foreach() 函數遍歷多維數組並將結果以HTML格式輸出到頁面上。

完整程式碼如下:

$cities = array(
    '北京', '上海', '广州', '深圳', '杭州', '南京', '成都', 
    '重庆', '长沙', '武汉', '西安', '天津', '青岛', '大连', 
    '沈阳', '郑州', '石家庄', '哈尔滨', '济南', '南昌', '福州',
    '厦门', '昆明', '太原', '兰州'
);

function cityABC($data) {
    $result = array();

    foreach ($data as $k => $v) {
        $first = mb_substr($v, 0, 1, 'utf-8');
        $result[$first][] = $v;
    }
    
    ksort($result);
    
    return $result;
}

$city_ABC = cityABC($cities);

foreach ($city_ABC as $key => $value) {
    echo '
';     echo '

' . $key . '

';     echo '
    ';     foreach ($value as $val) {         echo '
  • ' . $val . '
  • ';     }     echo '
'; }
登入後複製

結語

以上範例程式碼實現了城市ABC排列功能,可以方便用戶進行城市查找和瀏覽。當然,也可以根據實際需求對此程式碼進行最佳化和完善。

以上是如何使用PHP語言實現城市ABC排列功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板