while (list($key,$value) = each($array))
ou foreach
?
$array['key']
- $array[key]
str_replace
: plusieurs appels ou avec des tableaux ?file_exists
ou is_file
?file_exists
ou is_file
?On veut tester l'existence d'un fichier. Quelle fonction est la plus rapide ?
TEST 1 --- file_exists
<?php $a = file_exists('bench.php'); ?>
Durée: 0.07213 s, Vitesse: 1386386 instructions par seconde
TEST 2 --- is_file
<?php $a = is_file('bench.php'); ?>
Durée: 0.01765 s, Vitesse: 5667059 instructions par seconde
Pour simuler le test sur plusieurs fichier, on met un clearstatcache() avant chaque test...
TEST 3 --- file_exists
<?php $a = file_exists('bench.php'); ?>
Durée: 0.07572 s, Vitesse: 1320621 instructions par seconde
TEST 4 --- is_file
<?php $a = is_file('bench.php'); ?>
Durée: 0.08659 s, Vitesse: 1154905 instructions par seconde
La différence entre les deux n'est pas énorme au niveau vitesse. is_file
est même parfois plus rapide. Surtout il présente l'avantage de tester l'existence et le
type (est-ce un fichier ? un répertoire ?).
Les tests 3 et 4 simulent le test d'existence de 100 000 fichiers différents.
On fait un essai avec des fichiers qui n'existent pas
TEST 5 --- is_file
<?php $a = is_file($i.'.php'); ?>
Durée: 0.09296 s, Vitesse: 1075744 instructions par seconde
L'exécution est un peu plus rapide car PHP ne met pas en mémoire les infos sur le fichiers (infos qui sont supprimées par le clearstatcache).