Comparer une chaine de caractère dans un tableau

Résolu/Fermé
europe21 Messages postés 63 Date d'inscription mardi 26 décembre 2017 Statut Membre Dernière intervention 4 février 2024 - Modifié le 14 août 2020 à 18:26
europe21 Messages postés 63 Date d'inscription mardi 26 décembre 2017 Statut Membre Dernière intervention 4 février 2024 - 14 août 2020 à 19:21
Bonjour,

je suis sous symfony 4.

Je voudrais comparer une chaine de caractère a chacun des elements d'un tableau pour recupérer l'element identique. en fait je voudrai parcourir mon tableau et si un element est identique a ma chaine de caractère pouvoir le recuperer.Et j'avoue ne pas savoir comment faire.

$repo = $this->getDoctrine()->getRepository(CategoryAdherent::class);
$cat = $repo->findAll();

foreach($cat as $listecat)
{
$liste= $listecat->getTitle();
var_dump($liste. '<br />');

}

lorsque je fais un var_dump j'ai bien ma liste de categorie. Mais comment la comparer à ma chaine de caractere qui est dans mon cas $adherent->getSubCategory ?

Merci de votre aide.


Configuration: Windows / Chrome 84.0.4147.125
A voir également:

3 réponses

jordane45 Messages postés 38141 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
14 août 2020 à 18:40
Bonjour

Tu parles de tableau... Donc d'array ?
Si c'est ça... Il existe des fonctions php pour ça... In_array par exemple
0
europe21 Messages postés 63 Date d'inscription mardi 26 décembre 2017 Statut Membre Dernière intervention 4 février 2024
14 août 2020 à 18:55
Oui c'est un array.
J'ai fait cela:
$repo = $this->getDoctrine()->getRepository(CategoryAdherent::class);;
$cat = $repo->findAll();

foreach($cat as $listecat)
{
$liste= $listecat->getTitle();


if (in_array("u 19", $liste)) {
var_dump('c est bon');

}

}


Mais j'ai ce message d'erreur:
Warning: in_array() expects parameter 2 to be array, string given
0
jordane45 Messages postés 38141 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
14 août 2020 à 19:16
Le message d'erreur semble assez clair tu as variable liste n'est pas un array....
Un var_dump de cette variables te donne quoi ?
0
europe21 Messages postés 63 Date d'inscription mardi 26 décembre 2017 Statut Membre Dernière intervention 4 février 2024
Modifié le 14 août 2020 à 20:20
string(4) "u 19" string(4) "u 20" string(4) "u 18" string(1) "a" string(1) "b" string(3) "u15" string(9) "dirigeant"


Par contre j'obtiens un resultat si je code comme cela:
foreach($cat as $listecat)
{
$liste= $listecat->getTitle();



if (in_array($adherent->getSubCategory(), array($liste))) {
var_dump('c est bon');

}else
var_dump('c est pas bon');
}


J'obtiens cela:
string(13) "c est pas bon" string(13) "c est pas bon" string(9) "c est bon" string(13) "c est pas bon" string(13) "c est pas bon" string(13) "c est pas bon" string(13) "c est pas bon"
0