Konvertieren Sie einen String in ein assoziatives Array mit Array-Funktionen
In PHP besteht häufig die Notwendigkeit, einen String mit Schlüssel-Wert-Paaren in einen umzuwandeln assoziatives Array. Stellen Sie sich eine Zeichenfolge wie „1-350,9-390.99“ vor, bei der jedes Element durch einen Bindestrich und ein Komma getrennt ist. Das Ziel besteht darin, ein assoziatives Array zu erstellen, bei dem die erste Zahl in jedem Element zum Schlüssel und die zweite Zahl zum Wert wird.
Diese Konvertierung kann mithilfe der in PHP integrierten Array-Funktionen effizient durchgeführt werden. Der erste Schritt besteht darin, die Zeichenfolge mithilfe von preg_split("/[-,]/", $input) in einzelne Arrays aufzuteilen, wodurch die Zahlen durch Bindestriche und Kommas getrennt werden. Das Ergebnis ist eine Liste von Unterarrays, die jeweils einen Schlüssel und einen Wert enthalten.
Als nächstes verwenden wir array_chunk, um diese Unterarrays in Zweierblöcke zu gruppieren und sicherzustellen, dass ein Element den Schlüssel und das andere enthält der Wert. Schließlich wird array_column verwendet, um die Schlüssel und Werte in separate Arrays zu extrahieren. Die Verwendung von array_combine für diese Arrays ergibt das gewünschte assoziative Array.
Code-Snippet:
$input = '1-350,9-390.99';
$chunks = array_chunk(preg_split('/[-,]/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));
Ausgabe:
Array ( [1] => 350 [9] => 390.99 )
Diese Methode wandelt den String effektiv in ein assoziatives Array um, ohne auf Schleifen zurückgreifen zu müssen, und demonstriert so die Leistungsfähigkeit der Array-Funktionen von PHP.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3