PHP : array_shift
2006-10-27
(English follows)
La fonction PHP array_shift peut être assez gourmande en ressources processeur. Quand c'est possible, vous devriez utiliser array_slice à la place
Considerez le code suivant :
Il peut être remplacé par :
Voici le résultat d'un test que j'ai effectué sur un tableau de 10000 lignes :
Première méthode, 9000 milisecondes.
Seconde methode, 4 milisecondes.
English :
Note that array_shift can be rather time consuming. Whenever possible, you should consider using array_slice instead.
Consider the following code :
This could be replaced by :
Here is a benchmark I did on a 10 000 rows array :
First method, 9000 mili-seconds.
Second method, 4 mili-seconds
La fonction PHP array_shift peut être assez gourmande en ressources processeur. Quand c'est possible, vous devriez utiliser array_slice à la place
Considerez le code suivant :
$monthlyHits = 0;
reset ($hitsArray);
foreach($hitsArray as $visitTime ) {
if ($visitTime < $monthStart ) {
array_shift($hitsArray);
$monthlyHits++;
}
}
Il peut être remplacé par :
$monthlyHits = 0;
reset ($hitsArray);
foreach($hitsArray as $visitTime ) {
if ($visitTime < $monthStart ) {
$monthlyHits++;
}
}
$monthlyHits = array_slice($hitsArray,$monthlyHits);
Voici le résultat d'un test que j'ai effectué sur un tableau de 10000 lignes :
Première méthode, 9000 milisecondes.
Seconde methode, 4 milisecondes.
English :
Note that array_shift can be rather time consuming. Whenever possible, you should consider using array_slice instead.
Consider the following code :
$monthlyHits = 0;
reset ($hitsArray);
foreach($hitsArray as $visitTime ) {
if ($visitTime < $monthStart ) {
array_shift($hitsArray);
$monthlyHits++;
}
}
This could be replaced by :
$monthlyHits = 0;
reset ($hitsArray);
foreach($hitsArray as $visitTime ) {
if ($visitTime < $monthStart ) {
$monthlyHits++;
}
}
$monthlyHits = array_slice($hitsArray,$monthlyHits);
Here is a benchmark I did on a 10 000 rows array :
First method, 9000 mili-seconds.
Second method, 4 mili-seconds
Commentaires :
Nouveautés sous cette rubrique :
PHP : array_shift
(English follows)La fonction PHP array_shift peut être assez gourmande en ressou (...)
PHP : transformToDoc vs. transformToXML ?
English translation follows.Dans la plupart des cas, si vous attendez une sortie (...)
Hotmail et UTF-8
UTF-8 est la lingua franca du web : cette méthode d'encodage permet d'utiliser s (...)
Support de l'UTF-8 dans divers clients MySQL
De nombreux clients (GUI) pour base de donnée MySQL prétendent un "support compl (...)
Comment to the DOMNamedNodeMap ->getNamedItem() page in the php.net manual
Basic example of use :< ? php(...)echo $doc->documentElement->attributes->getNam (...)