Aktueller Standort: Startseite> Neueste Artikel> [Wie verwenden Sie die Funktion array_values, um alle Werte in einem multidimensionalen PHP -Array zu erhalten? Detaillierte Erläuterung der Betriebsschritte

[Wie verwenden Sie die Funktion array_values, um alle Werte in einem multidimensionalen PHP -Array zu erhalten? Detaillierte Erläuterung der Betriebsschritte

gitbox 2025-09-09

1. Einführung in die Basisarray_Values ​​() -Funktion

Array_Values ​​() ist eine integrierte Funktion von PHP, die alle Werte im Array zurückgibt, und das zurückgegebene Array ist ein Array ohne Schlüssellenname, und alle Schlüssel werden wieder integriert (ab 0).

Funktionsdefinition:

 <span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array</span></span><span>) : </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>
  • $ array : Das Eingabearray, Array_Values ​​(), gibt alle Werte in diesem Array zurück.

  • Rückgabewert: Ein neues Array, das alle Werte im ursprünglichen Array enthält, und der Schlüsselname des ursprünglichen Arrays wird auf aufeinanderfolgende Zahlen zurückgesetzt (ab 0).

2. Grundlegende Anwendung von Array_Values ​​()

Schauen wir uns zunächst ein einfaches Beispiel an, um zu zeigen, wie Sie Array_Values ​​() in einem normalen Array verwenden:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-number">1</span></span><span> =&gt; </span><span><span class="hljs-string">'apple'</span></span><span>,
    </span><span><span class="hljs-number">2</span></span><span> =&gt; </span><span><span class="hljs-string">'banana'</span></span><span>,
    </span><span><span class="hljs-number">3</span></span><span> =&gt; </span><span><span class="hljs-string">'cherry'</span></span><span>
];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Ausgangsergebnis:

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; cherry
)
</span></span>

Es ist ersichtlich, dass die Schlüsselnamen (1, 2, 3) des ursprünglichen Arrays auf 0, 1, 2 zurückgesetzt wurden und der Wert bleibt.

3. Verwenden Sie Array_Values ​​() in einem mehrdimensionalen Array

Für mehrdimensionale Arrays können wir auch Array_Values ​​() verwenden, um die darin enthaltenen Werte zu extrahieren. Beachten Sie jedoch, dass Array_Values ​​() nur auf die äußerste Schicht des Arrays wirkt und die innere Subtarray nicht rekursiv durchquert. Wenn Sie alle Werte in einem mehrdimensionalen Array erhalten müssen, ist eine zusätzliche Verarbeitung erforderlich.

3.1 Werte aus zweidimensionalen Arrays extrahieren

Angenommen, wir haben ein zweidimensionales Array mit mehreren Subtarrays, aus denen wir alle Werte extrahieren möchten:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-string">"fruit"</span></span><span> =&gt; [</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>],
    </span><span><span class="hljs-string">"vegetable"</span></span><span> =&gt; [</span><span><span class="hljs-string">"carrot"</span></span><span>, </span><span><span class="hljs-string">"tomato"</span></span><span>],
    </span><span><span class="hljs-string">"meat"</span></span><span> =&gt; [</span><span><span class="hljs-string">"chicken"</span></span><span>, </span><span><span class="hljs-string">"beef"</span></span><span>]
];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Ausgabeergebnis:

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
            [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
        )
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [</span><span><span class="hljs-number">0</span></span><span>] =&gt; carrot
            [</span><span><span class="hljs-number">1</span></span><span>] =&gt; tomato
        )
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [</span><span><span class="hljs-number">0</span></span><span>] =&gt; chicken
            [</span><span><span class="hljs-number">1</span></span><span>] =&gt; beef
        )
)
</span></span>

Wie Sie sehen können, arbeitet Array_values ​​() nur auf äußeren Arrays und ändert den Inhalt jedes Subtarray nicht.

3.2 rekursiv alle Werte extrahieren

Wenn wir alle Werte in ein mehrdimensionales Array erhalten möchten, ohne Schlüsseldamen beizubehalten, können wir es rekursiv behandeln. Dies kann durch Verwendung der Funktion array_map () in Kombination mit Array_Values ​​() erreicht werden:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">get_all_values</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$array</span></span></span><span>) {
    </span><span><span class="hljs-variable">$values</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
    </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$values</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> &amp;</span><span><span class="hljs-variable">$value</span></span><span>) {
        </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_array</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>)) {
            </span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_all_values</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>); </span><span><span class="hljs-comment">// Rekursiv interne Arrays verarbeiten</span></span><span>
        }
    }
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$values</span></span><span>;
}

</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-string">"fruit"</span></span><span> =&gt; [</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>],
    </span><span><span class="hljs-string">"vegetable"</span></span><span> =&gt; [</span><span><span class="hljs-string">"carrot"</span></span><span>, </span><span><span class="hljs-string">"tomato"</span></span><span>],
    </span><span><span class="hljs-string">"meat"</span></span><span> =&gt; [</span><span><span class="hljs-string">"chicken"</span></span><span>, </span><span><span class="hljs-string">"beef"</span></span><span>]
];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_all_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Ausgangsergebnis:

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; carrot
    [</span><span><span class="hljs-number">3</span></span><span>] =&gt; tomato
    [</span><span><span class="hljs-number">4</span></span><span>] =&gt; chicken
    [</span><span><span class="hljs-number">5</span></span><span>] =&gt; beef
)
</span></span>

Durch Rekursion extrahieren wir erfolgreich alle Werte aus einem mehrdimensionalen Array und geben ein abgeflachtes Array zurück.

4. Die Kombination von Array_Values ​​() und Array_merge ()

Manchmal wollen wir alle Werte eines mehrdimensionalen Arrays in ein einzelnes Array zusammenführen. In diesem Fall kann Array_Values ​​() in Verbindung mit Array_merge () verwendet werden:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-string">"fruit"</span></span><span> =&gt; [</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>],
    </span><span><span class="hljs-string">"vegetable"</span></span><span> =&gt; [</span><span><span class="hljs-string">"carrot"</span></span><span>, </span><span><span class="hljs-string">"tomato"</span></span><span>],
    </span><span><span class="hljs-string">"meat"</span></span><span> =&gt; [</span><span><span class="hljs-string">"chicken"</span></span><span>, </span><span><span class="hljs-string">"beef"</span></span><span>]
];

</span><span><span class="hljs-variable">$flattened</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_merge</span></span><span>(
    </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>[</span><span><span class="hljs-string">'fruit'</span></span><span>]),
    </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>[</span><span><span class="hljs-string">'vegetable'</span></span><span>]),
    </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>[</span><span><span class="hljs-string">'meat'</span></span><span>])
);

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$flattened</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Ausgangsergebnis:

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; carrot
    [</span><span><span class="hljs-number">3</span></span><span>] =&gt; tomato
    [</span><span><span class="hljs-number">4</span></span><span>] =&gt; chicken
    [</span><span><span class="hljs-number">5</span></span><span>] =&gt; beef
)
</span></span>

Auf diese Weise können wir mehrere Unterneuchber in ein Array kombinieren, um die nachfolgende Verarbeitung zu vereinfachen.

5. Zusammenfassung

Array_Values ​​() ist eine sehr nützliche PHP-Funktion, insbesondere wenn es sich um mehrdimensionale Arrays handelt, die problemlos alle Werte extrahieren können. Obwohl es selbst nicht selbst unterstützt, die Werte aller Subtarrays rekursiv zu extrahieren, können wir dies leicht erreichen, indem wir rekursive Funktionen oder in Kombination mit anderen PHP -Funktionen schreiben.

Ich hoffe, dass dieser Artikel Ihnen helfen kann , die Funktion array_values ​​() durch bestimmte Beispiele besser zu verstehen und zu verwenden.