Heim >Backend-Entwicklung >PHP-Tutorial >Wie sortiere ich ein mehrdimensionales PHP-Array nach einem inneren Array-Wert?
Sortieren eines mehrdimensionalen PHP-Arrays nach einem inneren Array-Wert
So sortieren Sie ein mehrdimensionales PHP-Array basierend auf einem bestimmten Wert in Im inneren Array können Sie eine benutzerdefinierte Sortierfunktion verwenden.
Benutzerdefinierte Sortierfunktion:
<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>
Verwendung:
<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>
Ausgabe:
<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>
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales PHP-Array nach einem inneren Array-Wert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!