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 fonctionarray_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
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 pratiqueUn 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 : rrreee
Ce 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!