chaine

Benchmark : Tester le premier caractère d'une chaine

Un match qui oppose strpos, substr, la méconnue substr_compare et l'accès aux caractères sous forme de tableau

php verifier premier caractere, php premier caractere chaine, verifier premier caractere php, premier caractere chaine php, php premier caractere, php tester premier caractere chaine, premier caractere php, remplacer premier caractere chaine php, tester premier caractere chaine, tester chaine php, tester premier caractere chaine php, php tester caractere, verifier premier caractere chaine php, verifier caractere chaine php, php verifier premier caractere chaine

Ce matin la question est : Comment tester le premier caractère d'une chaine.

J'ai trouver 4 façons de tester le premier caractère d'une chaine :
* strpos
* substr
* substr_compare
* le tableau de la chaine

Le code du benchmark :

<?php
$string = 'jaimelagalettesavezvouscommentquandelleestbienfaiteavecdubeurrededans';
$start = time() + microtime();
for ($i = 0; $i < 10000; $i ++)
{
$boolean = $string[0] === 'j';
}
var_dump(time() + microtime() - $start);
$start = time() + microtime();
for ($i = 0; $i < 10000; $i ++)
{
$boolean = strpos($string, 'j') === 0;
}
var_dump(time() + microtime() - $start);
$start = time() + microtime();
for ($i = 0; $i < 10000; $i ++)
{
$boolean = substr($string, 0, 1) === 'j';
}
var_dump(time() + microtime() - $start);
$start = time() + microtime();
for ($i = 0; $i < 10000; $i ++)
{
$boolean = substr_compare($string, 'j', 0, 1) === 0;
}
var_dump(time() + microtime() - $start);
?>

Résultats :

$string[0] === 'j' : 0.010831117630005 sec
strpos($string,'j') === 0 : 0.037698984146118 sec
substr($string,0,1) === 'j' : 0.039228916168213 sec
substr_compare($string,'j',0,1) === 0 : 0.043710231781006 sec

Notre grand vainqueur est donc $string[0] === 'j'.

Image : Shaycam

 

Vidéos drôles

Du fingerboard en taille réelle Un bateau accoste sur la plage Un policier saute une barrière Les rouquins ont une ame C'est toujours mieux de se faire rouler dessus Un problème moteur chez ses soldats Un saut raté dans la piscine Démonstration de Kung Fu par un soldat coréen Comment ne pas faire du vin chaud au micro onde