首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排序升序与ksort

排序升序与ksort
EN

Stack Overflow用户
提问于 2016-02-15 10:58:34
回答 1查看 313关注 0票数 2

我有以下数组:

代码语言:javascript
复制
$optionen_kosten = array(
    "option_5" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_3" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_1" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_6" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_8" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_10" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_2" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_4" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_7" => array(
        'monthly' => 2,
        'setup' => 5
    ),
    "option_9" => array(
        'monthly' => 2,
        'setup' => 5
    )
);

现在,我想对数组升序的键进行排序(option_1option_2.)

我在克索德上试过了,但它并不完美:

代码语言:javascript
复制
option_1
option_10
option_2
option_3
option_4
option_5
option_6
option_7
option_8
option_9

我希望option_10是最后一个。也许是用库塞德

PHP版本: 5.3.3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-15 11:06:13

您需要“天然排序”,可以将其直接添加到ksort (在php 5.4+中):

代码语言:javascript
复制
ksort($optionen_kosten, SORT_NATURAL);
var_dump($optionen_kosten);

有关可选参数值的详细信息,请参阅sort()手册。

一个工作实例

对于较早版本的php,您可以使用uksort()

大概是这样的:

代码语言:javascript
复制
uksort($optionen_kosten, function($a, $b) {
    return strnatcmp($a, $b);
});
var_dump($optionen_kosten);

一个例子

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35407582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档