我有以下数组:
$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_1
,option_2
...
我尝试了 ksort 但它并不完美:
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
你想要"自然排序",你可以直接将其添加到ksort
(在php 5.4+中(:
ksort($optionen_kosten, SORT_NATURAL);
var_dump($optionen_kosten);
有关可选参数值的更多详细信息,请参阅sort()
手册。
一个工作的例子。
对于旧版本的 php,您可以使用 uksort()
.
那将是这样的:
uksort($optionen_kosten, function($a, $b) {
return strnatcmp($a, $b);
});
var_dump($optionen_kosten);
举个例子。