Php 如何首先基于键对数组进行排序?

Php 如何首先基于键对数组进行排序?,php,arrays,sorting,Php,Arrays,Sorting,我试图先对数组排序,然后按字母顺序显示它 $testArray[test] = 'London'; $testArray[fsee] = 'Cardiff'; $testArray[pol] = 'Edinburgh'; $testArray[bede] = 'Manchester'; asort($testArray); foreach ($testArray as $key => $value) { echo $key .

我试图先对数组排序,然后按字母顺序显示它

   $testArray[test] = 'London';
    $testArray[fsee] = 'Cardiff';
    $testArray[pol] = 'Edinburgh';
    $testArray[bede] = 'Manchester';
    asort($testArray);
    foreach ($testArray as $key => $value) {
        echo $key . ' -- ' . $value . '<br/>';
    }

使用
ksort
功能

ksort($testArray);

使用
ksort
功能

ksort($testArray);

如果要执行非常快速的排序,忽略键的大小写(您的键似乎都是小写的,因此在这种情况下不区分大小写的比较应该很好),请使用以下方法:

uksort($testArray, "strnatcasecmp");

如果要执行非常快速的排序,忽略键的大小写(您的键似乎都是小写的,因此在这种情况下不区分大小写的比较应该很好),请使用以下方法:

uksort($testArray, "strnatcasecmp");

旁注:在分配密钥时,请确保它们至少用单引号括起来。否则,php必须首先确定它们是否为常量,然后回退到假定它们不是常量。在完全错误报告的情况下也会抛出大量警告。下面是一个类似于您的问题的示例,请看这个@creditablehat我正在php循环中使用以下内容,现在我不确定是否需要在单引号中设置$label `如果(!array_key_存在($label,$sums)){$sums[$label]=0;}`@alex否。您不需要变量,因为它们被称为$variable。当您这样做时:
$stuff[something]
它不知道
something
是一个常量,还是一个要使用的字符串(如您在Q中提供的示例代码)
$testArray[test]
实际上应该写成
$testArray['test']
。。如果有帮助的话。旁注:在分配密钥时,请确保它们至少用单引号括起来。否则,php必须首先确定它们是否为常量,然后回退到假定它们不是常量。在完全错误报告的情况下也会抛出大量警告。下面是一个类似于您的问题的示例,请看这个@creditablehat我正在php循环中使用以下内容,现在我不确定是否需要在单引号中设置$label `如果(!array_key_存在($label,$sums)){$sums[$label]=0;}`@alex否。您不需要变量,因为它们被称为$variable。当您这样做时:
$stuff[something]
它不知道
something
是一个常量,还是一个要使用的字符串(如您在Q中提供的示例代码)
$testArray[test]
实际上应该写成
$testArray['test']
。。如果有帮助的话。