In PHP, ci sono alcuni modi per creare un array di un elemento per ampliare. Ma ciò che questa versione è il più veloce?
Variante 1: Array_push
$un=schiera();
array_push($un,'1 '); |
Variante 2: $un[]
$un=schiera();
$un[]='1 '; |
Variante 3: array_unshift
Osservazione: Il nuovo elemento viene inserito nella matrice in primo luogo, also nicht wie in den anderen Varianten angehängt.
$un=schiera();
array_unshift($un,'1 '); |
Segno di riferimento
Ecco i miei script di riferimento: Copione
$numero=5000; // Numero di passate
//===========================
$t=microtime(vero);
$un=schiera();
per ($x=0;$x<$numero;$x++)
{
array_push($un,$x);
}
eco 'Array_push: '.(microtime(vero)-$t).'<br />';
lavare();
$t=microtime(vero);
$un=schiera();
per ($x=0;$x<$numero;$x++)
{
$un[]=$x;
}
eco '$ A[] :'.(microtime(vero)-$t).'<br />';
lavare();
$t=microtime(vero);
$un=schiera();
per ($x=0;$x<$numero;$x++)
{
array_unshift($un,$x);
}
eco 'Array_unshift'.(microtime(vero)-$t).'<br />';
lavare(); |
Risultato
Analisi delle prestazioni della tabella dei risultati per l'inserimento di elementi in un array esistente
Variante |
Tempo in s |
$un[] |
0.0279 |
Array_push |
0.038 |
Array_unshift |
35.427 |
Conclusione
Come si può vedere le differenze sono enormi!!! Nei test con un sacco di elementi inseriti $ a[] una media di circa 40% più veloce array_push. Chi array_unshift non abbiamo bisogno di pensare che parlare troppo, wenn es um das Einfügen von Elementen geht.