PHP verifier que toutes les valeur d'un table
Résolu
louiji
-
louiji -
louiji -
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;
}
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;
}
3 réponses
-
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). -
-
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