encore avec mes arrays !! - PHP - Programmation
Marsh Posté le 05-07-2010 à 08:49:51
Code :
|
Remarque : stristr, utilisé dans la fonction, n'est pas sensible à la casse. Si c'est important, utiliser strstr
Marsh Posté le 05-07-2010 à 15:25:12
"strpos" est censé consommer moins de ressource que "stristr" vu que "stristr" va faire une copie d'une partie de la chaine là où "strpos" se contentera de retourner un compteur. En fait, utiliser "strstr", c'est quasiment comme utiliser "strpos" et ensuite "substr".
erwan83 > Si tu as besoin plus tard des valeurs qui contiennent ton texte, tu as aussi "preg_grep" qui sera alors plus adapté.
Marsh Posté le 05-07-2010 à 18:41:40
merci mais justement je voulais éviter de me cogner cette fonction foreach...
bon... tant pis !!!
Marsh Posté le 05-07-2010 à 19:14:32
erwan83 a écrit : merci mais justement je voulais éviter de me cogner cette fonction foreach... |
Foreach n'est pas une fonction.
Tu peux utiliser array_filter aussi (qui elle est une fonction), mais je doute fort que tu l'apprécies
BTW pourquoi vous testez !== FALSE et === FALSE, in_array renvoie un booléen à la base, vous voulez quoi de plus, être certain qu'il n'y a pas un rayon cosmique qui vous transforme ça en string
Marsh Posté le 05-07-2010 à 19:54:43
non non c'est une vieille habitude et les vieilles habitudes ont la peau dure !
Marsh Posté le 05-07-2010 à 22:24:49
pour éviter le foreach, il y a moyen de travailler comme ceci:
Code :
|
attention que le séparateur (ici @) devrait être un caractère (ou une suite de caractères) qui ne se trouve pas dans les valeurs contenues dans le tableau.
Marsh Posté le 06-07-2010 à 14:08:07
masklinn a écrit : |
Parceque c'est plus performant
Tu gagnes 0,000000000001s par instruction
Marsh Posté le 07-07-2010 à 16:48:05
On pinaille sur les perfs ?
> juste pour strpos, j'ai fauté.
> (jeff@be) : dans ta solution, tu fais un implode : il ne parcourt pas le tableau, à ton avis (bouh les boucles cachées) ? Si je ne dis pas d'âneries, tu parcours tout le tableau, même s'il y a un résultat au premier index... Pas génial.
Perfs pinaillages : on ne fait pas de foreach, on fait un for
Marsh Posté le 07-07-2010 à 17:35:07
Je viens de faire des tests avec un tableau immense, la méthode avec implode est la plus rapide dans tous les cas. Que la chaine soit trouvée en début ou fin de tableau.
Marsh Posté le 07-07-2010 à 17:49:02
Dj YeLL a écrit : Je viens de faire des tests avec un tableau immense, la méthode avec implode est la plus rapide dans tous les cas. Que la chaine soit trouvée en début ou fin de tableau. |
Ce qui semble peu choquant dans la mesure où, même si elle fait 2 itérations sur le tableau, tout est en C (qui est moins lent que PHP)
Marsh Posté le 07-07-2010 à 22:41:19
jeff@be a écrit : pour éviter le foreach, il y a moyen de travailler comme ceci:
|
ha ca je vais essayer des dimanche ! (petite semaine de vacances)
merci !
Marsh Posté le 05-07-2010 à 08:19:38
je vois que ce code ne "marche pas" cependant j'aimerais trouver une solution si elle existe !
chercher un bout de chaine dans les valeurs d'un tableau ? hu ? ha ha !!
si vous avez la soluce, grand merci !
---------------
http://www.ypikay.com