我正在构建一个多维数组
$cars = array(
"names" => array(),
"prices" => array(),
);
我使用来自外部源的数据
填充数组foreach ($car["listings"] as $car) {
array_push($cars["prices"], $car["price"]);
array_push($cars["names"], $car["name"]);
}
我想将数组cars
中的所有汽车从价格从低到高排序。
function sortLowtoHigh($key){
return function ($a, $b) use ($key) {
return $b[$key] - $a[$key];
};
}
和执行功能
usort($cars, sortLowtoHigh("prices"));
我将Undefined index: prices
视为错误,即使数组显然存在(通过print_r()
确认)
当我在函数内部添加print_r()
时,我注意到我只看到值而不是我设计的数组结构。
function sortLowtoHigh($key){
return function ($a, $b) use ($key) {
echo "<pre>";
print_r($a);
echo "</pre>";
return $b[$key] - $a[$key];
};
}
简单地产生这个
Array
(
[0] => Car1
[1] => Car2
[2] => Car3
)
有人可以建议我在保持钥匙完好的同时实现价格分类吗?