[英]Sort a multidimensional array in PHP
我有一個多維數組,稱為$rent
:
Array
(
[product2] => Array
(
[dates] => Array
(
[2013-07-25] => 2
[2013-07-23] => 1
[2013-07-21] => 3
)
)
[product3] => Array
(
[dates] => Array
(
[2013-07-24] => 5
[2013-07-22] => 4
[2013-07-20] => 3
)
)
[product1] => Array
(
[dates] => Array
(
[2013-07-29] => 1
[2013-07-28] => 2
[2013-07-27] => 2
)
)
)
我想做一個雙重排序:
這樣結果數組將是:
Array
(
[product1] => Array
(
[dates] => Array
(
[2013-07-27] => 2
[2013-07-28] => 2
[2013-07-29] => 1
)
)
[product2] => Array
(
[dates] => Array
(
[2013-07-21] => 3
[2013-07-23] => 1
[2013-07-25] => 2
)
)
[product3] => Array
(
[dates] => Array
(
[2013-07-20] => 3
[2013-07-22] => 4
[2013-07-24] => 5
)
)
)
我怎樣才能做到這一點? 提前謝謝了
嘗試這個:
ksort($rent);
foreach($rent as &$item) {
ksort($item['dates']);
}
您可以簡單地對產品進行排序 ,然后對其進行遍歷並將其用於日期鍵。
ksort($products);
foreach($products as &$product)
ksort($product['dates']);
$products
是您顯示給我們的數組。 請注意,您需要將foreach循環中的值作為參考傳遞(使用&
運算符),否則更改將不會在原始數組中更新。
據我了解您的問題; Nadh解決方案幾乎就在那里。 但我相信你想要ksort()
這是我對納德答案的更正
ksort($rent);
foreach($rent as $product => $dates) {
ksort($rent[$product]['dates']);
}
print_r($rent);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.