按内部数组值对多维 PHP 数组进行排序
根据内部数组值对多维 PHP 数组进行排序内部数组,您可以使用自定义排序功能。
自定义排序函数:
<code class="php">function array_sort($array, $on, $order = SORT_ASC) { $new_array = []; $sortable_array = []; if (count($array) > 0) { foreach ($array as $key => $value) { if (is_array($value)) { foreach ($value as $key2 => $value2) { if ($key2 == $on) { $sortable_array[$key] = $value2; } } } else { $sortable_array[$key] = $value; } } switch ($order) { case SORT_ASC: asort($sortable_array); break; case SORT_DESC: arsort($sortable_array); break; } foreach ($sortable_array as $key => $value) { $new_array[$key] = $array[$key]; } } return $new_array; }</code>
用法:
<code class="php">$list = array( array('type' => 'suite', 'name' => 'A-Name'), array('type' => 'suite', 'name' => 'C-Name'), array('type' => 'suite', 'name' => 'B-Name') ); $list = array_sort($list, 'name', SORT_ASC); print_r($list);</code>
输出:
<code class="php">array(3) { [0]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "A-Name" } [2]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "B-Name" } [1]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "C-Name" } }</code>
以上是如何按内部数组值对多维 PHP 数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!