Publié le 06/12/2010
Auteur Fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Trouver la position d'un element dans un array

La class Array_IndexOf illustre la recherche d'un string dans un tableau. Pour l'exemple, deux méthodes sont utilisées pour trouver la position du prénom Antoine pour la liste suivante ("Pierre", "Paul", "Jacques", "Leon", "Antoine", "Marcel").
- fonction arraySearch: encapsulation de la fonction PHP array_search,
- fonction arrayInLoop: boucle sur chaque élément du tableau pour trouver les string identiques.

Chercher un string dans un tableau

Avec microtime(), la vitesse de recherche a été comparée sur une boucle de 1000 passages. Les résultats montrent que les performances des 2 méthodes sont identiques.

<?php
 
class Array_IndexOf {
 
/**
* Trouver la position d'un element avec array_search
* @param array $haystack
* @param string $value
* @return int la position de l'élement ou -1 si non trouvé
*/
public static function arraySearch(array $haystack, $value) {
$pos=array_search($value, $haystack);
if ($pos !== false) {
return $pos;
} else {
return -1;
}
}
 
/**
* Trouver la position d'un element avec une boucle
* @param array $haystack
* @param string $value
* @return int la position de l'élement ou -1 si non trouvé
*/
public static function arrayInLoop(array $haystack, $value) {
$count=count($haystack)-1;
 
for ($i=0; $i<$count;$i++)
if ($haystack[$i]==$value) {
return $i ;
}
return -1;
}
}
 
/**
* Exemple
*/
$values=array("Pierre", "Paul", "Jacques", "Leon", "Antoine", "Marcel");
$pos=Array_IndexOf::arrayInLoop($values, 'Antoine');
if ($pos!=-1) {
echo 'La position de Antoine dans le tableau est: '.$pos;
} else {
echo 'Antoine non trouve dans le tableau';
}
?>

L'article est l'illustration du questionnement sur la recherche d'un string dans un array. L'evalutation comprend la fonction inclus dans PHP array_search et une méthode à la mano ou l'on parcourt les tableaux.
En conclusion, il semble que les 2 méthodes se valent, les données étant dans la mémoire la recherche d'un string est quasiment instantané.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
php5 - script
Mise a jour
06/12/2010
Visualisation
vu 4318 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 265 articles
|BIO_PSEUDO|
Commentaires récents

Publié par mfranca dans CMS

Bonjour, Excellent outil pour moi, très interessant pour mes recherches en amateur...
Merci pour cette création Olubil
Ciao ciao

Publié par IANDRY dans tuto

c'est bien d'avoir les images et liste des pays du monde avec leurs drapeaux
respectif

Publié par Sophie dans tuto

Merci pour cette explication claire qui m'aide grandement... JS et moi, on est pas encore copain !

Publié par Tchat dans news

Analyses interessantes.
J'ai constate aussi des comportements etranges de Google concernant les placements des sites sur leurs requetes.
Par contre j'ai remarque que Google ne tient pl...

Publié par fobec dans CMS

fff - f,f,fklmf @@ f,kflf,k ??? !!! fff f f insert