Heim >Backend-Entwicklung >PHP-Tutorial >Wie sortiere ich ein mehrdimensionales PHP-Array nach einem inneren Array-Wert?

Wie sortiere ich ein mehrdimensionales PHP-Array nach einem inneren Array-Wert?

DDD
DDDOriginal
2024-11-03 06:21:03736Durchsuche

How to Sort a Multi-Dimensional PHP Array by an Inner Array Value?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP 8.3 veröffentlicht!Nächster Artikel:PHP 8.3 veröffentlicht!