如何在php中按给定键的值对关联数组排序并维护键?
给定这个数组如何在php中按给定键的值对关联数组排序并维护键?,php,arrays,Php,Arrays,给定这个数组 $inventory = array( "sdfsdfsdsx65fsdf1"=>array("type"=>"fruit", "price"=>3.50), "sdfsdfsdsx65fsdf2"=>array("type"=>"milk", "price"=>2.90), "sdfsdfsdsx65fsdf3"=>array("type"=>"pork", "price"=>5.43) ); 我想输
$inventory = array(
"sdfsdfsdsx65fsdf1"=>array("type"=>"fruit", "price"=>3.50),
"sdfsdfsdsx65fsdf2"=>array("type"=>"milk", "price"=>2.90),
"sdfsdfsdsx65fsdf3"=>array("type"=>"pork", "price"=>5.43)
);
我想输出如下
$inventory = array(
"sdfsdfsdsx65fsdf3"=>array("type"=>"pork", "price"=>5.43),
"sdfsdfsdsx65fsdf1"=>array("type"=>"fruit", "price"=>3.50),
"sdfsdfsdsx65fsdf2"=>array("type"=>"milk", "price"=>2.90)
);
$inventory=array(
数组(“SDFSDFSDX65FSDF1”=>数组(“类型”=>“水果”、“价格”=>3.50”),
数组(“SDFSDFSDX65FSDF2”=>数组(“类型”=>“牛奶”,“价格”=>2.90)),
数组(“SDFSDFSDX65FSDF3”=>数组(“类型”=>“猪肉”,“价格”=>5.43))
);
usort($库存,功能($a,$b){
foreach($a作为$a);
foreach($b作为$b);
如果($a['price']=$b['price'])返回0;
回报($a['price']<$b['price'])?1:-1;
});
打印(库存);
你能给我数组([sdfsdfsdsx65fsdf1]=>Array([type]=>fruit[price]=>3.5)[sdfsdfsdsx65fsdf2]=>Array([type]=>milk[price]=>2.9)[sdfsdfsdsx65fsdf3]=>Array([type]=>pork[price]=>5.43)是的,您的输出是书面的,但我已经编辑了问题,请检查一次,然后给我一个输出
$inventory = array(
array("sdfsdfsdsx65fsdf1"=>array("type"=>"fruit", "price"=>3.50)),
array("sdfsdfsdsx65fsdf2"=>array("type"=>"milk", "price"=>2.90)),
array("sdfsdfsdsx65fsdf3"=>array("type"=>"pork", "price"=>5.43))
);
usort($inventory, function($a, $b) {
foreach ($a as $a);
foreach ($b as $b);
if ($a['price'] == $b['price']) return 0;
return ($a['price'] < $b['price']) ? 1 : -1;
});
print_r($inventory);