Recuperer variable tableau array

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 : Recuperer variable tableau array

Re: Recuperer variable tableau array

par Dr@ke » 02 avr. 2010, 09:18

Sauf que l'on a fait le boulot à ta place, et on est pas censé le faire :wink:

Re: Recuperer variable tableau array

par fred65 » 02 avr. 2010, 08:53

Enfin un vrai forum d'entraide !
Je ne sais comment vous remercier tous. Mon probleme est résolu et je vous le doit.
Merci encore; I'll be back... =D>

Re: Recuperer variable tableau array

par Dr@ke » 02 avr. 2010, 06:21

Oui il y a des tonnes de façons :)
$produit = array('pain', 'lait', 'chocolat');
                 
$recherche = 'Pain lait cacahuète chocolat lait';
$recherche = array_unique(explode(' ', $recherche));
$recherche = array_intersect($produit, array_map('strtolower', $recherche));

// Les produits disponibles
print_r($recherche);
<?php
$produit = array('pain', 'lait', 'chocolat');
                 
$recherche = 'Pain lait cacahuète chocolat lait';
$recherche = array_unique(explode(' ', $recherche));

foreach($recherche as $mot)
{
   if(in_array(strtolower($mot), $produit))
    {
        echo sprintf('Nous avons ce produit : %s <br />', $mot);
    }
   else
    {
        echo sprintf('Pas de produit : %s <br />', $mot);
    }
}
?>

Re: Recuperer variable tableau array

par blof » 02 avr. 2010, 03:57

Bonjour,
Mais bon, il doit y avoir des tonnes de solutions ...
sans tenir compte de la casse
<pre>
<?php

$produit = array("pain", "lait", "Chocolat");
$recherche = "Pain    cacahuète chocolat";

$motif = preg_replace('/ +/', '|', $recherche);
$disponible = preg_grep("/$motif/i", $produit);

print_r($disponible);

?>
</pre>

Re: Recuperer variable tableau array

par Dr@ke » 02 avr. 2010, 00:46

Regarde les commentaires dans la page du manuel de la fonction array_search() :wink:
http://fr.php.net/manual/fr/function.ar ... .php#96533

(Les commentaires sont souvent tout autant intéressants)

Re: Recuperer variable tableau array

par stealth35 » 02 avr. 2010, 00:42

il en prend pas compte a la base

Re: Recuperer variable tableau array

par fred65 » 02 avr. 2010, 00:33

Les gars vous êtes balèzes ! Je vois qu'il me reste du chemin à faire. :D
Vous m'avez donné de quoi me faire la main...
Je retient surtout la solution de stealth35 avec le "foreach" et "array_search"(sans faire de jaloux) qui me semble etre exactement ce qu'il me fallait.
Une chose, par contre, est il possible de faire en sorte que la fonction ne tienne pas compte de la casse ? ex: pain=Pain

Re: Recuperer variable tableau array

par Dr@ke » 01 avr. 2010, 23:59

$produit    = array('pain', 'lait', 'chocolat');
                 
$recherche  = 'pain lait cacahuète chocolat lait';
$recherche     = array_unique(explode(" ", $recherche));

$result = array_intersect($produit, $recherche);

// Les produits disponibles
print_r($result);
Mais bon, il doit y avoir des tonnes de solutions, et oui array-search() pour chercher juste une valeur :)

Re: Recuperer variable tableau array

par stealth35 » 01 avr. 2010, 23:50

par contre le coup du array_intersect c'est bien ca, si il veux juste les valeurs qui correspondent c'est qu'il faut utiliser

Re: Recuperer variable tableau array

par Dr@ke » 01 avr. 2010, 23:47

Erreur de ma part:
array_diff_key() n'est pas intéressant ici.
$produit    = array(1  => 'pain',
                  2 => 'lait',
                  3 => 'chocolat');
                 
$recherche  = 'pain lait cacahuète chocolat lait';
$recherche  = explode(" ", $recherche);

$result = array_intersect($produit, $recherche);

// Les produits disponibles
print_r($result);

Re: Recuperer variable tableau array

par stealth35 » 01 avr. 2010, 23:30

pourquoi tu fais pas un foreach sur le tableau ca serais plus simple :wink: (et un coup d'array_unique en bonus)
$produit    = array(1  => 'pain',
                  2 => 'lait',
                  3 => 'chocolat');
                  
$recherche  = 'pain lait cacahuète chocolat lait';
$motcle     = array_unique(explode(" ", $recherche));

foreach($motcle as $mot)
{
   if(array_search($mot, $produit))
    {
        echo sprintf('Nous avons ce produit : %s <br />', $mot);
    }
    else
    {
         echo sprintf('Pas de produit : %s <br />', $mot);
    }
}

Re: Recuperer variable tableau array

par dunbar » 01 avr. 2010, 23:26

Salut,

Quelque chose dans le genre :?:
En partant de ton exemple
<?php
 $produit = array( 'pain', 'lait', 'chocolat');
 $recherche = 'pain lait';
 $motcle = explode(" ", $recherche);
 $n = count($motcle);


 for ($i=0; $i<$n; $i++) {
 	$Resultat[$i] = array_search($motcle[$i], $produit);
    $af[$i] = (isset($Resultat[$i]) && ($Resultat[$i] == true)) ? 'Nous avons ce produit : '.$motcle[$i] : 'Pas de produit : '.$motcle[$i];
    echo '<li>' .$af[$i] .'</li>';

 }

?>

Re: Recuperer variable tableau array

par fred65 » 01 avr. 2010, 22:01

Merci beaucoup, je regarde ça tout de suite !

Re: Recuperer variable tableau array

par stealth35 » 01 avr. 2010, 21:30

array_search ?

Re: Recuperer variable tableau array

par Dr@ke » 01 avr. 2010, 21:29

Bonjour,
tu peux regarder la fonction array_diff_key():
http://fr.php.net/manual/fr/function.array-diff-key.php

Ou array_intersect():
http://fr.php.net/manual/fr/function.ar ... ersect.php

...