PHP é uma linguagem baseada em servidor para a criação de aplicações Web interativas e renderização de conteúdo sob demanda do usuário . Ele suporta uma variedade de classes de coleta de dados em seu construtor array , incluindo matrizes indexadas e associativas. Com um grande número de usuários , o desempenho do seu código pode se tornar um problema. Embora arrays associativos não requerem significativa sobrecarga da CPU , eles não precisam de mais memória para armazenar na memória RAM como seu programa está sendo executado. Arrays cadastradas
Uma matriz indexada padrão em PHP e outras linguagens contém uma série de índices de valor posteriores mapeados para valores de dados. Um valor de dados é acessado por referência ao índice ou posição na matriz
$ my_array = array ( 1, 2, 3, 4, 5); .
Acessando o elemento "$ my_array [0 ] " retorna o valor 1. Matrizes cadastradas são melhores para armazenar e acessar dados estruturados. Seria ineficiente para fazer o seguinte, como seria preencher as lacunas em valores de índice , ocupando uma grande quantidade de memória :
$ my_array [] = 7; $ my_array [13] = 5; $ my_array [76 ] = -4 ;
Associativo Arrays
ao contrário de matrizes indexadas, matrizes associativas PHP conter uma série de pares chave-valor. Os valores de dados são acessados por referência a chave que pode ser tanto uma string exclusiva ou valor numérico. O exemplo acima pode ser ineficiente melhor escrito como uma matriz associativa :
$ my_array (0 => 5, 13 = > 5, 75 = > -4 ); $ my_array ( "um" = > 1, " dois " => 2, " dezessete " => 17);
CPU Desempenho
PHP é otimizado para o processamento de strings. Ter uma string como a chave para uma matriz associativa não produz muito em cima. Ao acessar um elemento em uma matriz associativa em PHP, a matriz não é procurado do começo ao fim para determinar se qualquer uma das teclas corresponder. Em vez disso, uma chave em um associativas mapas de matriz para um valor de índice , sem sobrecarga adicional em tempo de pesquisa sobre matrizes indexadas.
Memória Desempenho
Desde arrays associativos PHP loja um par chave-valor , ao contrário de apenas um valor , eles exigem sobrecarga de memória adicional , o programa utiliza o espaço na memória RAM durante a execução, quando comparado com matrizes indexadas. Esta memória adicional é normalmente insignificante , a menos que você está usando matrizes muito grandes . Neste caso, pode ser prudente dividir matrizes muito grandes em um subconjunto de matrizes que podem ser acessadas quando necessário.