【发布时间】:2015-03-23 14:54:39
【问题描述】:
echo '<pre>'.print_r($listings,1).'</pre>';
ksort($listings, SORT_NUMERIC);
echo '<pre>'.print_r($listings,1).'</pre>';
输出:
Array
(
[quick-brown-fox] => Array
(
[0] => Quick-brown-fox
[1] => quick-brown-fox
[4] => general_thumbs/quick-brown-fox.jpg
[2] => 320
[3] => 240
)
)
Array
(
[quick-brown-fox] => Array
(
[0] => Quick-brown-fox
[1] => quick-brown-fox
[4] => general_thumbs/quick-brown-fox.jpg
[2] => 320
[3] => 240
)
)
我尝试了foreach,但它不会影响原始数组,而for 将不起作用,因为它是键,而不是索引。这种情况我该怎么办?
【问题讨论】:
-
好吧,
ksort()确实对只有一个条目的数组进行了排序:quick-brown-fox=>Array(5)。你需要做ksort($listings[0])。 -
我尝试了
foreach,但它不会影响原始数组,并且for不起作用,因为它是键,而不是索引 -
ksort($listings['quick-brown-fox'], SORT_NUMERIC); -
@MarkBaker 谢谢,但其中可能有未知数量的数组,而不仅仅是一个。
-
@3zzy ksort 不是递归的。它不会深入您的数组并继续对每个子数组进行 ksorting。