按数字键对数组进行排序

发布于 2024-08-17 20:49:00 字数 232 浏览 3 评论 0原文

如何通过数组键对这个数组进行排序?

array(
4 => 'four',
3 => 'three',
2 => 'two',
1 => 'one',
)

期望的结果:

array(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
)

How can I sort this array by array keys?

array(
4 => 'four',
3 => 'three',
2 => 'two',
1 => 'one',
)

Desired result:

array(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

青萝楚歌 2024-08-24 20:49:06

如果要按 DESC 顺序对键进行排序,请使用:

krsort($arr);

如果要按 DESC 顺序对值进行排序并保持索引关联,请使用:

arsort($arr);

如果要按 DESC 自然顺序对值进行排序并保持索引关联,请使用:

natcasesort($arr);
$arr = array_reverse($arr, true);

If you want to sort the keys in DESC order use:

krsort($arr);

If you want to sort the values in DESC order and maintain index association use:

arsort($arr);

If you want to sort the values in DESC natural order and maintain index association use:

natcasesort($arr);
$arr = array_reverse($arr, true);
守望孤独 2024-08-24 20:49:06

如果你只是想颠倒顺序,请使用 array_reverse

$reverse = array_reverse($array, true);

第二个参数用于保留钥匙。

If you just want to reverse the order, use array_reverse:

$reverse = array_reverse($array, true);

The second parameter is for preserving the keys.

和影子一齐双人舞 2024-08-24 20:49:06

您有一个数组,您想按键以相反的顺序对其进行排序 - 您可以使用 krsort功能:

按键对数组进行反向排序
顺序,维护数据密钥
相关性。这个主要有用
对于关联数组。

在你的情况下,你会有这样的代码:

$arr = array(
    1 => 'one',
    2 => 'two',
    3 => 'three',
    4 => 'four',
);

krsort($arr);
var_dump($arr);

这会让你得到这样的输出:

$ /usr/local/php-5.3/bin/php temp.php
array(4) {
  [4]=>
  string(4) "four"
  [3]=>
  string(5) "three"
  [2]=>
  string(3) "two"
  [1]=>
  string(3) "one"
}

作为旁节点:如果您想按值排序,您可以使用 arsort -- 但这似乎不是你想要的,在这里。

You have an array, you want to sort it by keys, in reverse order -- you can use the krsort function :

Sorts an array by key in reverse
order, maintaining key to data
correlations. This is useful mainly
for associative arrays.

In you case, you'd have this kind of code :

$arr = array(
    1 => 'one',
    2 => 'two',
    3 => 'three',
    4 => 'four',
);

krsort($arr);
var_dump($arr);

which would get you this kind of output :

$ /usr/local/php-5.3/bin/php temp.php
array(4) {
  [4]=>
  string(4) "four"
  [3]=>
  string(5) "three"
  [2]=>
  string(3) "two"
  [1]=>
  string(3) "one"
}

As a sidenode : if you had wanted to sort by values, you could have used arsort -- but it doesn't seem to be what you want, here.

新一帅帅 2024-08-24 20:49:06

尝试 krsort() - 这将使用数组键反向排序,而 rsort 将对数组值进行排序。

Try krsort() - that will sort in reverse using the array key, whereas rsort will sort on the array value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文