PHP est un langage basé sur le serveur pour créer des applications Web interactives et de rendre le contenu de l'utilisateur sur demande. Il prend en charge une variété de classes de collecte de données dans sa construction array , y compris les tableaux indexés et les tableaux associatifs . Avec un grand nombre d'utilisateurs , la performance de votre code peut devenir un problème . Bien que les tableaux associatifs ne nécessitent pas de charge CPU importante , ils ont besoin de plus de mémoire pour stocker en RAM que votre programme est en cours . Les tableaux indexés
Un tableau indexé standard dans PHP et autres langages contient une série d' indices de valeur ultérieures mappés aux valeurs de données . Une valeur de données est accessible en référençant l' index, ou position dans le tableau
$ my_array = array ( 1, 2, 3, 4, 5); .
Accès à l' élément "$ my_array [ 0] " renvoie la valeur 1. Les tableaux indexés sont les meilleurs pour le stockage et l'accès aux données structurées. Il serait inefficace de faire ce qui suit , car il permettrait de combler les lacunes dans les valeurs de l'indice , en prenant une très grande quantité de mémoire :
$ my_array [] = 7; my_array $ [ 13] = 5; $ my_array [76 ] = -4 ;
tableaux associatifs
contrairement aux tableaux indexés , PHP tableaux associatifs contient une série de paires clé-valeur. Les valeurs de données sont accessibles en référençant la clé qui peut être soit une chaîne unique ou une valeur numérique . L'exemple ci-dessus peut être inefficace mieux écrit dans un tableau associatif :
$ my_array ( 0 => 5, 13 = > 5 , 75 => -4 ) ; $ my_array ("un" = > 1, "deux" => 2, " dix-sept" => 17);
CPU performance
PHP est optimisé pour le traitement des chaînes de caractères. Avoir une chaîne comme clé pour un tableau associatif ne produit pas beaucoup de charges . Lorsque vous accédez à un élément dans un tableau associatif en PHP, le tableau n'est pas recherché de bout en bout afin de déterminer si l'une des clés correspondent . Au lieu de cela , une clé en forme de tableau associatif correspond à une valeur d'index , sans charge supplémentaire en temps de recherche sur tableaux indexés .
Memory Performance
Depuis PHP associatif magasin de tableaux une paire clé- valeur , par opposition à seulement une valeur , ils ont besoin de surcharge de la mémoire supplémentaire , l'espace utilisé par votre programme dans la RAM lors de l'exécution , par rapport aux tableaux indexés . Cette mémoire supplémentaire est normalement négligeable sauf si vous utilisez très grands tableaux . Dans ce cas, il peut être prudent de se séparer de très grands tableaux dans un sous-ensemble de tableaux qui peuvent être accessibles selon les besoins.