下面是API调用的结果类型示例。我想按价格对这些结果进行排序并保留数组的结构。我已经尝试了手册中的大量示例以及我发现的代码,但似乎无法获得正确的组合以使其工作。我真的很感激任何帮助。
array(7) {
["errors"]=> array(0) { }
["warnings"]=> array(1) {
[0]=> array(2) {
["code"]=> string(26) "api_class_update_available"
["msg"]=> string(58) "The Api class is now available in version 1.6"
}
}
["data"]=> array(4) {
[0]=> array(3) {
["url"]=> string(7) "http://"
["keyword"]=> string(7) "keyword1"
["price"]=> string(5) "23.99"
}
[1]=> array(3) {
["url"]=> string(7) "http://"
["keyword"]=> string(7) "keyword2"
["price"]=> string(5) "19.99"
}
[2]=> array(3) {
["url"]=> string(7) "http://"
["keyword"]=> string(7) "keyword3"
["price"]=> string(5) "29.99"
}
[3]=> array(3) {
["url"]=> string(7) "http://"
["keyword"]=> string(7) "keyword4"
["price"]=> string(5) "9.99"
}
}
["countryCode"] => string(2) "US"
["page"] => int(1)
["limit"]=> int(4)
}
答案 0 :(得分:3)
您可以使用usort()
对$array['data']
属性
function priceCompare($a, $b) { return $a['price'] - $b['price']; }
usort($results['data'], 'priceCompare');
或者在PHP 5.3中,您可以使用闭包,因此您不需要定义函数:
usort($results['data'], function($a, $b) { return $a['price'] - $b['price']; });