如何对关联数组进行排序



我想对以下数组的键进行排序。我用ksort(),但我不知道怎么用。知道吗?

<?php
        $a = array(
                'kuy' => 'kuy',
                'apple' => 'apple',
                'thida' => 'thida',
                'vanna' => 'vanna',
                'ravy' => 'ravy'
              );
        $b = ksort($a);
        echo "<pre>";
        print_r($b);
        echo "</pre>";

ksort()对数组本身进行排序,不创建排序副本

$a = array(
  'kuy'   => 'kuy',
  'apple' => 'apple',
  'thida' => 'thida',
  'vanna' => 'vanna',
  'ravy'  => 'ravy'
);
ksort($a);
echo "<pre>";
print_r($a);
echo "</pre>";

您可以在这里找到答案:http://php.net/manual/de/function.ksort.php

使用它就像:

ksort($a);

则$a被排序。

如果您不想保留$a的原始订单,请使用:-

ksort($a);
print_r($a);

如果你想保留$a,但也想要一个排序的版本,请使用:-

$b = $a;
ksort($b);
print_r($b);

正如我在评论中所说的,手册页非常清楚。http://www.php.net/manual/en/function.ksort.php

ksort不返回数组。它只是对原始数组进行排序,并返回bool"成功时返回TRUE,失败时返回FALSE。"

所以您的排序数组是$a,而不是$b。请在此处查看:http://codepad.org/zMTFTPGf

ksort返回布尔值并对原始数组进行排序,因此您应该打印$a而不是$b,因为$b是ksort返回的布尔值,根据ksort 的结果,它是true还是false

ksort($a);    
print_r($a);

ksort返回一个布尔值-无论排序是否成功。它在适当的位置对数组进行排序,即更改数组变量,而不是返回排序后的副本。

尝试:

ksort($a);
print_r($a);

ksort通过引用获取其参数并直接对其进行修改,返回值仅表示成功或失败。

ksort返回一个关于是否成功的布尔值,它不返回另一个排序数组。它会更改原始数组。

print_r($a);

正如Felix所说,请查看文档。您也可以在这里查看示例

相关内容

  • 没有找到相关文章

最新更新