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 4292 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 265 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Broker dans logiciel

C'est impressionnant, ca va devenir difficile de se cacher !

Publié par bakouz dans java

Bonjour Axel,
je suis tombe sur ton site un peu par hasard.
Hasard car je ne le connaissais pas jusqu'a maintenant, et non du hasard car c'est exactement ce genre de class que je recherchais. !...

Publié par Axel dans java

Bonjour,
cet exemple a ete prepare et compile sous Netbeans 7.2 ;)
S'il y a un soucis, n'hesite pas

Publié par Oscar dans java

Je vous remercie pour ce tuto il ma permis non seulement de gerer les couleurs dans les cellules mais aussi de positionner son contenu texte.

Publié par habib dans CMS

je veu cree des applications base de donnee comme gestion park reforme du materielle les unites materielle entree sortie inventaire aidez moi email bettaharhabib1966@yahoo.fr <br>tel 0557187557...