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

Publié par hozin2003 dans CMS

merci, c'est mon problème et voila j'ai trouvé la solution merci et voila un bon pas pour un débutant

Publié par fffffff dans CMS

tesffff

Publié par Ludwig dans tuto

Bonjour,
Il me semble que les plugins de gestion d'images sont payants pour TinyMCE et CKeditor, est-ce toujours le cas ?
Il manque amha l'excellent Xinha dans cette liste, qui lui est Open Sour...

Publié par brayan dans logiciel

je vous retour modem ip pour configury net firwell

Publié par pat59 dans CMS

j espere que le jeu vas fonctionner car vous le donnez mais il est bloqué snifff