In PHP kann das Invertieren von Array-Schlüsselwerten die Leistung verbessern. Das folgende Schema kann verwendet werden: Funktion array_flip(): Erstellt ein neues Array, die ursprünglichen Array-Schlüssel werden zu neuen Array-Werten und die ursprünglichen Array-Werte werden zu neuen Array-Schlüsseln. foreach-Schleife: Invertieren Sie das Array manuell und ändern Sie den Wert. array_map()-Funktion und Abschluss: Invertieren Sie das Array flexibel und geben Sie ein Array von Schlüssel-Wert-Paaren zurück.
PHP-Array-Schlüsselwertumkehr: Eine Lösung zur Verbesserung der Leistung
Vorwort
Beim Umgang mit großen Datenmengen wird die Schlüsselwertumkehr von Arrays entscheidend. Es kann die Leistung von Such- und Abrufvorgängen erheblich verbessern. In diesem Artikel untersuchen wir verschiedene Optionen zum Invertieren von Array-Schlüsselwerten in PHP und zeigen, wie Sie diese zur Optimierung Ihrer Anwendung verwenden können.
Option 1: array_flip()-Funktion
array_flip()
-Funktion ist die einfachste Möglichkeit, die Array-Schlüsselwerte umzukehren. Es wird ein neues Array erstellt, wobei die Schlüssel des ursprünglichen Arrays zu den Werten des neuen Arrays werden und die Werte des ursprünglichen Arrays zu den Schlüsseln des neuen Arrays werden. array_flip()
函数是倒置数组键值的最简单方法。它创建一个新数组,其中原始数组的键成为新数组的值,而原始数组的值成为新数组的键。
$originalArray = ['name' => 'John', 'age' => 30]; $invertedArray = array_flip($originalArray); // $invertedArray 输出: // ['John' => 'name', '30' => 'age']
方案 2:使用 foreach 循环
如果你需要更多控制或需要修改值,可以使用 foreach
循环手动倒置数组。
$originalArray = ['name' => 'John', 'age' => 30]; $invertedArray = []; foreach ($originalArray as $key => $value) { $invertedArray[$value] = $key; } // $invertedArray 输出: // ['John' => 'name', '30' => 'age']
方案 3:使用 array_map() 和 Closure
array_map()
函数和闭包(Closure)提供了另一种灵活的倒置数组键值的方法。
$originalArray = ['name' => 'John', 'age' => 30]; $invertedArray = array_map(function ($value, $key) { return [$value, $key]; }, $originalArray); // $invertedArray 输出: // [['John', 'name'], ['30', 'age']]
实战案例
在以下实战案例中,我们使用 array_flip()
function findUserByName($name) { // 从数据库中获取所有用户 $users = [ ['id' => 1, 'name' => 'John Doe'], ['id' => 2, 'name' => 'Jane Smith'], ]; // 倒置数组,以用户名为键 $invertedUsers = array_flip($users); // 检查倒置数组中是否存在给定用户名 if (!isset($invertedUsers[$name])) { return null; } // 返回与给定用户名关联的用户 ID return $invertedUsers[$name]; }
Option 2: Verwenden Sie eine foreach-Schleife
🎜🎜Wenn Sie mehr Kontrolle benötigen oder Werte ändern müssen, können Sie das Array mithilfe einerforeach
-Schleife manuell invertieren. 🎜rrreee🎜🎜Option 3: Die Verwendung von array_map() und Closure🎜🎜🎜array_map()
-Funktion und Abschluss (Closure) bieten eine weitere flexible Möglichkeit, Array-Schlüsselwerte umzukehren. 🎜rrreee🎜🎜Praktischer Fall🎜🎜🎜Im folgenden praktischen Fall verwenden wir die Funktion array_flip()
, um eine Funktion zu optimieren, die Benutzernamen in der Datenbank findet: 🎜rrreee🎜Das Invertieren des Arrays kann die Geschwindigkeit erhöhen Der Suchvorgang erhöht sich um Größenordnungen und verbessert die Anwendungsleistung erheblich. 🎜Das obige ist der detaillierte Inhalt vonUmkehrung des PHP-Array-Schlüsselwerts: eine Lösung zur Verbesserung der Leistung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!