Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery或PHP中使用多个值按字母顺序排序JSON/数组_Javascript_Php_Jquery - Fatal编程技术网

Javascript 在jQuery或PHP中使用多个值按字母顺序排序JSON/数组

Javascript 在jQuery或PHP中使用多个值按字母顺序排序JSON/数组,javascript,php,jquery,Javascript,Php,Jquery,我有以下问题: 正如你在图片上看到的,我有一个下拉框,它不是按国家或城市的字母顺序排序的 JSON对象如下所示: [{"HAM": {Name: "Hamburg", Country: "Germany", ...},    "DEL": {Name: "Delhi", Country: "India", ...}, etc.}] 在PHP中,它组装在一个循环中,如下所示:

我有以下问题: 正如你在图片上看到的,我有一个下拉框,它不是按国家或城市的字母顺序排序的

JSON对象
如下所示:

[{"HAM": {Name: "Hamburg", Country: "Germany", ...}, 
   "DEL": {Name: "Delhi", Country: "India", ...}, etc.}]
PHP
中,它组装在一个循环中,如下所示:

$locations[$locationCode] = [
                'name' => $locationName,
                'type' => $locationObject->getType(),
                country' => $this->getCountryForLocation($locationName),
                'accessSizes' => $accessSizes,
                'services' => $services
        ]
如何在
jQuery
PHP
中先按字母顺序对国家进行排序,然后再对城市进行排序?我更愿意在
PHP
中执行此操作


我的问题是我在循环之外尝试它,因此我不再知道
$locationCode
。有人能帮我吗?我尝试了
array\u multisort()
来绕过
$locationCode
,但不幸的是,它从未起作用。

PHP有两个整洁的数组排序函数,分别调用和(如果您想保留键,可以使用这两个函数),这两个函数都允许您编写自定义函数,以任意方式对数组进行排序

<?php

$c = array();
$c["HAL"] = array("City" => "Hamlet", "Country" => "USA");
$c["HUS"] = array("City" => "Houston", "Country" => "USA");
$c["HAN"] = array("City" => "Hannover", "Country" => "Germany");
$c["HAM"] = array("City" => "Hamburg", "Country" => "Germany");

echo "Before Sorting:\r\n<pre>" . print_r($c, true) . "</pre>";
usort($c, "cmp");
echo "After Sorting:\r\n<pre>" . print_r($c, true) . "</pre>";

function cmp ($a, $b) {
    $cmp = strcmp($a["Country"], $b["Country"]);
    if ($cmp == 0) $cmp = strcmp($a["City"], $b["City"]);
    return $cmp;
}

?>

您需要展示您尝试过的内容。。但最终它很可能是一个或+3k的骗局