Heim > Artikel > Backend-Entwicklung > Die Schlüsselwerte des PHP-Arrays sind umgekehrt, was einen großen Einfluss auf die PK-Leistung hat
Die Auswirkungen der Verwendung von array_flip() zum Umkehren der Array-Schlüsselwerte auf die Leistung: Die Ausführungszeit wächst O(n^2) mit der Array-Größe. Praktischer Fall: Ermitteln Sie den Schlüssel eines assoziativen Arrays nach Wert.
PHP-Array-Schlüsselwertumkehr: Auswirkungen auf Leistung und praktische Fälle
In PHP ist Array eine häufig verwendete Datenstruktur. Manchmal müssen wir den Schlüsselwert eines Arrays umkehren. Dies ist ein häufiger Vorgang, dessen Auswirkungen auf die Leistung jedoch häufig übersehen werden.
PHP stellt hierfür die Funktion array_flip()
zur Verfügung. Diese Funktion gibt ein neues Array zurück, in dem die Schlüssel des ursprünglichen Arrays umgekehrt sind. array_flip()
函數來執行此操作。該函數返回一個新的數組,其中原數組的鍵值被顛倒。
讓我們比較一下在不同大小的數組上使用 array_flip()
函數的性能:
$array1 = range(0, 9999); $array2 = range(0, 99999); $array3 = range(0, 999999); $time_start = microtime(true); $flipped_array1 = array_flip($array1); $time_end = microtime(true); $elapsed_time1 = $time_end - $time_start; $time_start = microtime(true); $flipped_array2 = array_flip($array2); $time_end = microtime(true); $elapsed_time2 = $time_end - $time_start; $time_start = microtime(true); $flipped_array3 = array_flip($array3); $time_end = microtime(true); $elapsed_time3 = $time_end - $time_start; echo "執行時間:\n"; echo "10,000 個元素:$elapsed_time1 秒\n"; echo "100,000 個元素:$elapsed_time2 秒\n"; echo "1,000,000 個元素:$elapsed_time3 秒\n";
從結果中,我們可以看出,使用 array_flip()
函數的執行時間會隨著數組大小的增加而增加。這是因為 array_flip()
函數在內部使用了一個巢狀迴圈,其複雜度為 O(n^2)。
實戰案例
一個使用 array_flip()
array_flip()
auf Arrays unterschiedlicher Größe: 🎜$associated_array = [ "red" => "#FF0000", "blue" => "#0000FF", "green" => "#00FF00", ]; $flipped_array = array_flip($associated_array); echo $flipped_array["#00FF00"]; // 輸出:green🎜Anhand der Ergebnisse können wir sehen, dass die Ausführungszeit bei Verwendung von
array_flip()
beträgt der Funktion nimmt mit zunehmender Arraygröße zu. Dies liegt daran, dass die Funktion array_flip()
intern eine verschachtelte Schleife verwendet, die eine Komplexität von O(n^2) hat. 🎜🎜🎜Praktischer Fall🎜🎜🎜Ein praktischer Fall mit der Funktion array_flip()
besteht darin, die Schlüsselwerte eines assoziativen Arrays umzukehren, sodass der Schlüssel anhand des Werts ermittelt werden kann. Zum Beispiel: 🎜rrreeeDas obige ist der detaillierte Inhalt vonDie Schlüsselwerte des PHP-Arrays sind umgekehrt, was einen großen Einfluss auf die PK-Leistung hat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!