[résolut] Rechercher dans un tableau une valeur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [résolut] Rechercher dans un tableau une valeur

Re: [résolut] Rechercher dans un tableau une valeur

par DevPHP » 13 oct. 2011, 23:15

Très variable, en journée dans les 250ko en soiré quelque ko a peine dans mon tableau se trouve, la page d'ou il vient, son ip et un timestamp sur 5 minutes.
Le truc, c'est que des fois le fichier est très gros (2 mo environs), donc imaginons, que je cherche 15 personne pour savoir si ils sont la, avec 2 000 visiteurs sur la même page 2 000 * 15 = 30 000 recherches, ça deviens lourd comme requête... Maintenant, comme c'est très varié je pense qu'avec une recherche strpos, ça devrai le faire.
J’espère pouvoir optimisé cela.

Bon en y réfléchissant, tout cela n'est pas obligatoire et dans le cas ou le site ramerai, je n'aurai cas retirer.

Re: [résolut] Rechercher dans un tableau une valeur

par AB » 13 oct. 2011, 20:28

Comme indiqué dans la doc il est dans ce cas conseillé d'utiliser strpos qui sera plus rapide.

Sinon elle est de quel ordre la taille de ton tableau ?

Re: Rechercher dans un tableau une valeur

par DevPHP » 13 oct. 2011, 20:14

Pas bête, un truc a ajouter dans mon système de cache...
Merci, bon pour l'histoire de connaitre la clé, je ne serai pas aussi facilement.

Pour ceux qui veulent faire comme moi strstr <- le nom est top hein ?

Re: Rechercher dans un tableau une valeur

par Zahnzao » 13 oct. 2011, 19:44

Une idée au cas ou...

D'après ce que tu dis, tu sais déjà comment il s’appelle, et tu dois juste vérifier qu'il est présent dans le tableau. Dans ce cas pourquoi ne pas faire la recherche directement sur le serialize en mode string ?

Re: Rechercher dans un tableau une valeur

par DevPHP » 13 oct. 2011, 19:23

d'un serialize situé sur un fichier texte (chargé une fois :P )
La taille change régulièrement selon la fréquentation

Re: Rechercher dans un tableau une valeur

par stealth35 » 13 oct. 2011, 18:39

d’où sort le tableau ?

Re: Rechercher dans un tableau une valeur

par DevPHP » 13 oct. 2011, 18:26

Pour la charge sur un tableau assez gros, ça irai ?
Il va devoir le faire très suivant :|

Re: Rechercher dans un tableau une valeur

par AB » 13 oct. 2011, 17:58

Tu peux faire une boucle sur ton tableau et pour chaque élément (qui est un tableau) tu peux appliquer la fonction in_array
$recherche = 'le-codeur-fou';
$result = false;

foreach ($tab as $array) 
{
    if (in_array($recherche,$array)) 
      {
        $result=true;
        break;
      }
}

echo $result;

[résolut] Rechercher dans un tableau une valeur

par DevPHP » 13 oct. 2011, 17:46

Bonjour à tous,

Je cherche à réalisé une fonction qui me permettrai de chercher dans un tableau (assez gros et pas strictement égale) la valeur d'une clé

Code : Tout sélectionner

Array ( [cx_4e96fc87ef67e] => Array ( [pseudo] => le-codeur-fou [url] => http://kristof.123.fr/ [titre] => Page introuvable [ip] => 54.11.1.150 [time] => 1318518326 ) [cx_4e69fc81ef61e] => Array ( [pseudo] => DevPHP [url] => http://kristof.123.fr/ [titre] => Formulaire de contact [ip] => 84.41.84.150 [time] => 1318518394 ) )
La valeur que je recherche ici est le pseudo, donc

Code : Tout sélectionner

[cx_4e96fc87ef67e] [pseudo] = le-codeur-fou
Je sais déjà comment il s'appel, je dois juste vérifié qu'il est dans mon tableau (en extra, la clé pour avoir les infos)