Bei der Entwicklung von PHP -Anwendungen begegnen Sie häufig Situationen, in denen Sie aufzählige Werte in Formularen verarbeiten müssen. Insbesondere wenn Steuerelemente wie Dropdown-Boxen oder Kontrollkästchen in einem Formular vorhanden sind, werden diese Optionswerte normalerweise in einem Array gespeichert. Um die Konvertierung dieser Werte zu erleichtern oder umgekehrte Suchvorgänge auszuführen, ist die Funktion array_flip () ein sehr nützliches Werkzeug.
In diesem Artikel wird die Verwendung der Funktion array_flip () verwendet, um Enum -Werte in einer Form zu verarbeiten und seine gemeinsamen Techniken und Anwendungen anzuzeigen.
Array_flip () ist eine integrierte Funktion in PHP, bei der Tasten und Werte in einem Array austauschen. Insbesondere verwandelt es die Schlüssel des Arrays in Werte und den Wert des Arrays in Schlüssel. Es ist zu beachten, dass, wenn Elemente mit demselben Wert überschrieben werden, was nur zu einem Schlüsselwertpaar führt.
Wenn wir uns mit Enum -Werten in einem Formular befassen, stoßen wir häufig auf das Problem, dass das Formular eine Kennung zurückgibt (wie z. Zu diesem Zeitpunkt ist die Funktion array_flip () sehr nützlich.
Angenommen, wir haben ein Formular mit einem Dropdown-Feld und der Benutzer muss ein Land auswählen. Um die Wartbarkeit des Codes zu verbessern, speichern wir die Namen dieser Länder in einem Array mit jeweils eine entsprechende Kennung (z. B. eine Zahl oder eine kurze Zeichenfolge).
// Angenommen, dies ist ein Array aus einer Datenbank oder anderswo
$countryList = [
1 => 'United States',
2 => 'Canada',
3 => 'United Kingdom',
4 => 'Australia',
];
// Angenommen, dies sind die vom Benutzer eingereichten Formulardaten,Enthält eine Kennung für ein Land
$selectedCountryId = 2;
Manchmal müssen wir Enumwerte (z. B. die Zahlen 1, 2, 3 usw.) in entsprechende Tags (wie "Vereinigte Staaten", "Kanada" usw.) umwandeln. An diesem Punkt kann Array_flip () nützlich sein. Indem wir die Schlüssel und Werte des Arrays invertieren, können wir den Ländernamen leicht einer bestimmten Kennung entsprechen.
// Das Array umkehren,Schlüssel- und Wertwechsel
$flippedCountryList = array_flip($countryList);
// Vom Benutzer ausgewählt ID Finden Sie den entsprechenden Landnamen
$selectedCountry = $flippedCountryList[$selectedCountryId];
echo "Das vom Benutzer ausgewählte Land ist: $selectedCountry"; // Ausgabe:Das vom Benutzer ausgewählte Land ist: Canada
In einigen Fällen können Sie URL -Adressen in einem Array speichern. Wenn die URL Domainnamen enthält, möchten Sie sie möglicherweise einheitlich durch einen bestimmten Domänennamen ersetzen (z. B. M66.net ). Hier ist ein Beispiel, das zeigt, wie ein Domänenname in einer URL ersetzt wird, wenn die Enumwerte verarbeitet werden.
Angenommen, wir haben das folgende URL -Array, das verschiedene URL -Adressen enthält:
// URL Array
$urlList = [
'home' => 'http://example.com/home',
'about' => 'http://example.com/about',
'contact' => 'http://example.com/contact',
];
// Definieren Sie den zu ersetzenden Zieldomänennamen
$targetDomain = 'm66.net';
// verwenden array_map Und preg_replace Ersetzen Sie den Domain -Namen
$updatedUrlList = array_map(function($url) use ($targetDomain) {
return preg_replace('/http:\/\/[a-zA-Z0-9.-]+/', 'http://' . $targetDomain, $url);
}, $urlList);
// Ausgabe替换后的 URL Liste
print_r($updatedUrlList);
Das Ausgangsergebnis ist:
Array
(
[home] => http://m66.net/home
[about] => http://m66.net/about
[contact] => http://m66.net/contact
)
Die Anwendung von invertierenden Arrays : Array_flip () ist ideal für die Umstellung des Enum -Wert -Umwandlung, insbesondere wenn die Konvertierung zwischen Kennung und Tags erforderlich ist.
Ersatz für URL -Domänenname : Durch Array_Map () und reguläre Ausdrücke können Sie die URL -Domänennamen im Array flexibel ersetzen, um eine Konsistenz zu gewährleisten.
Leistungsüberlegungen : Wenn ein Array groß ist, kann Array_flip () mehr Speicher annehmen, da es ein neues Array erstellt. Bei vernünftigem Einsatz kann es die Entwicklungseffizienz effektiv verbessern.
Ich hoffe, diese Tipps können Ihnen helfen, die Aufzählungswerte und verwandte Operationen in PHP -Formularen besser zu handhaben.