Maison > Article > développement back-end > Les valeurs des clés du tableau PHP sont inversées, ce qui a un grand impact sur les performances PK
L'impact sur les performances de l'utilisation de array_flip() pour inverser les valeurs des clés du tableau : le temps d'exécution augmente de O(n^2) avec la taille du tableau. Cas pratique : Récupérer la clé d'un tableau associatif par valeur.
Inversion de la valeur clé d'un tableau PHP : impact sur les performances et cas pratiques
En PHP, le tableau est une structure de données couramment utilisée, nous devons parfois inverser la valeur clé d'un tableau. Il s’agit d’une opération courante, mais son impact sur les performances est souvent négligé.
PHP fournit la fonction array_flip()
pour ce faire. Cette fonction renvoie un nouveau tableau dans lequel les clés du tableau d'origine sont inversées. 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()
sur des tableaux de différentes tailles : 🎜$associated_array = [ "red" => "#FF0000", "blue" => "#0000FF", "green" => "#00FF00", ]; $flipped_array = array_flip($associated_array); echo $flipped_array["#00FF00"]; // 輸出:green🎜D'après les résultats, nous pouvons voir qu'en utilisant
array_flip()
Le temps d'exécution de la fonction augmente à mesure que la taille du tableau augmente. En effet, la fonction array_flip()
utilise une boucle imbriquée en interne, qui a une complexité de O(n^2). 🎜🎜🎜Cas pratique🎜🎜🎜Un cas pratique utilisant la fonction array_flip()
est d'inverser les valeurs clésd'un tableau associatif, afin que la clé puisse être obtenue par valeur. Par exemple : 🎜rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!