【发布时间】:2016-01-20 11:45:30
【问题描述】:
现在这个让我很困惑,我对它在做什么有点困惑。
所以我有一个多向数组:
$h_info[69993] = array('price' => '1.00', 'url' => 'url', 'rating' => '4');
$h_info[85398] = array('price' => '3.00', 'url' => 'url', 'rating' => '2');
$h_info[34394] = array('price' => '9.00', 'url' => 'url', 'rating' => '0');
现在我有以下 while 循环
foreach ($h_info as $row) {
foreach ($row as $key => $value){
${$key}[] = $value; //Creates $price, $url... arrays.
}
}
array_multisort($price, SORT_ASC, $h_info);
现在可以了,但它会从数组中删除 $h_info id 并输出
Array
(
[0] => Array
(
[price] => 39
[url] => url,
[rating] => 4.5
)
...
但我需要保留 ID - 当我这样做时:
foreach ($h_info as $row => $id) {
foreach ($row as $key => $value){
${$key}[] = $value; //Creates $price, $url... arrays.
}
}
array_multisort($price, SORT_ASC, $h_info);
排序不再起作用,但正确输出数组:
Array
(
[69993] => Array
(
[price] => 39
[url] => url,
[rating] => 4.5
)
...
【问题讨论】:
-
对多维数组使用 usort() 希望这个 url 对你有帮助 php.net/manual/en/function.usort.php
-
@jilesh 那似乎只在数组内排序? - 我希望能够进入数组,获取价格,然后对其进行排序,以便首先显示价格最低的主 ID
标签: php arrays array-multisort