可以使用PHP的usort函数来对多维数组按照指定的条件进行排序。具体实现步骤如下:
定义一个用于比较库存大小的回调函数cmpStock。该函数将两个数组元素作为参数进行比较,返回值为-1、0或1,表示两个元素的库存大小关系。
使用usort函数对多维数组进行排序,传入回调函数cmpStock作为比较函数参数。
示例代码如下:
function cmpStock($a, $b) { if ($a['stock'] > $b['stock']) { return -1; } else if ($a['stock'] < $b['stock']) { return 1; } else { return 0; } }
// 模拟数据 $products = array( array('name' => 'product1', 'stock' => 10, 'price' => 9.99), array('name' => 'product2', 'stock' => 20, 'price' => 19.99), array('name' => 'product3', 'stock' => 5, 'price' => 4.99) );
// 按库存降序排序 usort($products, 'cmpStock');
// 输出结果 print_r($products);
输出结果为:
Array ( [0] => Array ( [name] => product2 [stock] => 20 [price] => 19.99 )
[1] => Array
(
[name] => product1
[stock] => 10
[price] => 9.99
)
[2] => Array
(
[name] => product3
[stock] => 5
[price] => 4.99
)
)
这样就可以按照库存从大到小对多维数组进行排序了。
下一篇:按扩展名查找文件