Aktueller Standort: Startseite> Neueste Artikel> So simulieren Sie die Wertdoppelung der Wertschöpfung, um die Überschreibung von Array_flip () zu testen)

So simulieren Sie die Wertdoppelung der Wertschöpfung, um die Überschreibung von Array_flip () zu testen)

M66 2025-06-03

Array_flip () ist eine Funktion in PHP, und seine Funktion besteht darin, Tasten und Werte von Arrays auszutauschen. Das heißt, der Wert im Array wird ein Schlüssel und der ursprüngliche Schlüssel wird zu einem Wert. In dieser Funktion kann jedoch in einigen Fällen Probleme mit Abdeckungsproblemen auftreten, insbesondere wenn es im Array doppelte Werte gibt. In diesem Fall überschreiben die späteren Schlüssel den vorherigen Schlüssel. In diesem Artikel wird die Überschreibung der Funktion von Array_flip () getestet, indem der Fall von wiederholten Werten simuliert.

Grundlegende Verwendung der Funktion array_flip ()

Lassen Sie uns zunächst kurz die Verwendung der Funktion array_flip () überprüfen. Die Funktion nimmt ein Array als Argument an und gibt ein neues Array zurück, in dem die Schlüssel und Werte des Arrays austauschbar sind. Wenn der Wert des Arrays eindeutig ist, bleibt jeder Schlüssel erhalten.

 <?php
$array = ['a' => 1, 'b' => 2, 'c' => 3];
$flipped = array_flip($array);
print_r($flipped);
?>

Die Ausgabe wird sein:

 Array
(
    [1] => a
    [2] => b
    [3] => c
)

Der Fall der Duplizierung von Werten

Das Problem tritt auf, wenn das Array doppelte Werte enthält. Wenn wir einen Schlüssel mit demselben Wert an array_flip () übergeben, überschreibt der nachfolgende Schlüssel den vorherigen Schlüssel. Schauen wir uns ein Beispiel an:

 <?php
$array = ['a' => 1, 'b' => 2, 'c' => 2];
$flipped = array_flip($array);
print_r($flipped);
?>

Das Ausgabeergebnis wird:

 Array
(
    [1] => a
    [2] => c
)

Wie Sie sehen können, haben beide Schlüssel B und C den gleichen Wert von 2 , aber nachdem array_flip () ausgeführt wurde, ersetzt der Schlüssel C Schlüssel B, da es den gleichen Wert hat. Array_flip () behält nur den letzten Taste, der angezeigt wird. Dieses Problem mit Überschreibung ist normalerweise etwas, auf das wir bei der Verwendung von array_flip () aufpassen müssen.

So simulieren Sie die Wertvervielfachung, um Abdeckungsprobleme zu testen

Um dieses Problem besser zu verstehen, können einige Testfälle erstellt werden, simulierte doppelte Werte in verschiedenen Szenarien und beobachteten das Verhalten von array_flip () . Hier sind einige gemeinsame Testszenarien.

Szenario 1: Es gibt mehrere identische Werte in einem Array

 <?php
$array = ['a' => 1, 'b' => 1, 'c' => 2, 'd' => 2];
$flipped = array_flip($array);
print_r($flipped);
?>

Die Ausgabe wird sein:

 Array
(
    [1] => b
    [2] => d
)

In diesem Beispiel werden die Werte 1 und 2 jeweils zweimal angezeigt, und der letzte Schlüssel ( B und D ) überschreibt den vorherigen Schlüssel.

Szenario 2: Die Werte des Arrays sind genau gleich

 <?php
$array = ['a' => 1, 'b' => 1, 'c' => 1];
$flipped = array_flip($array);
print_r($flipped);
?>

Die Ausgabe wird sein:

 Array
(
    [1] => c
)

In diesem Fall haben alle Schlüssel Werte von 1 , so dass nur der letzte Schlüssel C beibehalten wird.

Szenario 3: komplexere Array -Struktur

 <?php
$array = ['a' => 1, 'b' => 2, 'c' => 2, 'd' => 3, 'e' => 1];
$flipped = array_flip($array);
print_r($flipped);
?>

Die Ausgabe wird sein:

 Array
(
    [1] => e
    [2] => c
    [3] => d
)

Wie Sie hier sehen können, erscheinen die Werte 1 und 2 jeweils zweimal, und E und C überschreiben die vorherigen Schlüssel. 3 ist der einzige Wert, der auftritt, so dass D erhalten bleibt.

Zusammenfassen

Durch die Simulation verschiedener Wiederholungswerte können wir das Verhalten der Funktion array_flip () bei der Verarbeitung wiederholter Werte sehen. Die Funktion überschreibt den vorherigen Schlüssel und behält das letzte Ereignis des Schlüssels bei. Dieses Überschreibungsverhalten kann zu unerwarteten Ergebnissen führen. Daher müssen wir bei Verwendung von Array_flip () besonders vorsichtig sein, insbesondere wenn im Array doppelte Werte vorhanden sind.