按列值对关联数组进行排序
可以使用 array_multisort 来实现按特定列值对关联数组进行排序() 功能。此函数接受多个数组并按一列或多列对它们进行排序。
考虑以下表示库存列表的数组:
$inventory = array( array("type" => "fruit", "price" => 3.50), array("type" => "milk", "price" => 2.90), array("type" => "pork", "price" => 5.43) );
要按“价格”列对此数组进行排序,我们可以使用以下代码:
$price = array(); foreach ($inventory as $key => $row) { $price[$key] = $row['price']; } array_multisort($price, SORT_DESC, $inventory);
在 PHP 5.5.0 及更高版本中,我们可以使用以下代码简化上述代码array_column() 函数:
$price = array_column($inventory, 'price'); array_multisort($price, SORT_DESC, $inventory);
这将按“价格”列降序对 $inventory 数组进行排序。结果数组将是:
$inventory = array( array("type" => "pork", "price" => 5.43), array("type" => "fruit", "price" => 3.50), array("type" => "milk", "price" => 2.90) );
以上是如何在 PHP 中按列值对关联数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!