PHP verifier que toutes les valeur d'un table

Résolu/Fermé
louiji - 22 déc. 2007 à 16:33
 louiji - 23 déc. 2007 à 09:31
Bonjour,

je souhaite realiser une fonction qui verifie que toutes les valeurs d'un tableau "A" sont presente dans le tableau"B" (le tableau "B" peut quand a lui contenir plus de valeur et donc ne pas etre identique au tableau "A" )
voici le code que j'ai fait, mais il semble avoir des disfonctionnement:

function arraycompare($array1, $array2)
{
foreach($array2 as $key2=>$value2){
$contenue="no";
foreach($array1 as $key1=>$value1){
if($key1==$key2 && $value1==$value2){$contenue="ok";}
}
if ($contenue!="ok") { $valeurarendre=False;break; }else{ $valeurarendre=true; }
}
return $valeurarendre;
}
A voir également:

3 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
22 déc. 2007 à 17:43
Voici ce que je te conseille: tu as la fonction array_intersec pour obtenir un tableau possédant les éléments en commun entre deux tableaux.

Si ce tableau d'intersection est égal au tableau A alors c'est bon.
<?
$inter = array_intersec($array1, $array2);
if($array1 == $inter){
    //$array1 est inclus dans $array2
}
?>


Ca ne marchera que si les éléments de A se retrouvent dans B avec le même type (il ne faut pas qu'un entier dans A se retrouve en tant que chaîne dans B).
0
Sinon dans ta fonction, tu as break; en trop ça te fait sortir sans rien renvoyer
0
voici la fonction corrigé


function arraycompare($array1, $array2)
{
$intera1a2 = array_intersec_assoc($array1, $array2);
if($array1 == $intera1a2){return true;} else {return false;}
}


merci a alain42
0