IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

comparer 2 array oui / non


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 56
    Points : 30
    Points
    30
    Par défaut comparer 2 array oui / non
    bonjour

    j'ai par exemple 2 array
    1,2,3,4,5,6,7,8
    et
    2,5,6,8

    je veux les comparer et avoir pour résultat
    1 non
    2 oui
    3 non
    4 non
    5 oui
    6 oui
    7 non
    8 oui

    oui si je retrouve dans les 2 tableaux et non en valeur par defaut si je trouve pas

    quelle est la meilleure méthode sachant qu'il n'y aura que 10 éléments maxi ?

    merci

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,

    array_diff ?
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tiens on avait eu cette question il y a quelques temps et malheureusement array_diff() fait la différence d'un tableau sur l'autre et non pas la différence des deux.

    Il faut traiter les deux sens.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    mais dans une boucle c'est pas possible ? je veux affecter des valeur true et false dans une boucle

    un truc du genre


    for ($i = 1; $i <= 10; $i++) {
    if ( $i == $i_autreArray)
    {... true}
    else{.... false}
    }

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux effectivement parcourir ton tableau et utiliser in_array() ; mais comme je le disais il faut le faire du premier tableau sur le deuxieme puis du deuxieme vers le premier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tiens on avait eu cette question il y a quelques temps et malheureusement array_diff() fait la différence d'un tableau sur l'autre et non pas la différence des deux.

    Il faut traiter les deux sens.
    Exact je m'en souviens. Sinon dans le cas présent, tu peux faire ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $tab1 = array(2, 4, 6, 9, 15);
    $tab2 = array(2, 7, 9, 10, 11);
    $result = array();
     
    foreach($tab1 as $valeur)
    	$result[$valeur] = 'non';
     
    foreach($tab2 as $valeur)
    	(isset($result[$valeur])) ? $result[$valeur] = 'oui' : $result[$valeur] = 'non';
     
    ksort($result);

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    j'y arrive pas
    j'ai essayé plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	$checktrueList = '1,5,6,8';	
    		for ($i = 1; $i <= 10; $i++) {
    			$pos = false;
    			$nb = (string)$i;
    			$pos = strpos($checktrueList, $nb);
    			if ($pos === true) {
    				$checkboxList .= 'true';
    			}
    			else {
    				$checkboxList .= 'false';
    			}
    		}
    ça ne marche pas du tout , c'est toujours à false

  8. #8
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    As tu regardé ma solution ?
    Au final est ce un tableau ou une chaine de caractères...?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    j'ai une chaine sous cette forme 1,4,5,6 mais bien sur avec explode j'en fait un array
    je veux la comparer dans une boucle de 1 à 10 toujours la même

    je ne vois pas bien ce que fais ta fonction , je veux construire une chaine de true et false
    true,true,false ect ...

  10. #10
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Comme ceci alors :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $chaine = '1,4,5,6';
     
    $tab = explode(',', $chaine);
    $result = array();
     
    for($i=1; $i<=10; $i++)
    	(in_array($i, $tab)) ? $result[$i] = 'oui' : $result[$i] = 'non';

  11. #11
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    merci beaucoup

    je teste ça

  12. #12
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    parfait et laconique
    je l'ai utilisé comme ça pour des checkbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (in_array($i, $arrChecked )) ? $check = 'checked="checked"' : $check = '';
    merci

Discussions similaires

  1. Détection Javascript activé OUI/NON
    Par Lux interior dans le forum XMLRAD
    Réponses: 3
    Dernier message: 01/10/2009, 13h10
  2. Oui/Non (case à cochée) comme critère
    Par ivan7 dans le forum Access
    Réponses: 1
    Dernier message: 06/02/2006, 23h57
  3. Type Oui/Non
    Par seb008 dans le forum Access
    Réponses: 2
    Dernier message: 09/12/2005, 23h38
  4. Champ de type oui/non
    Par dl_jarod dans le forum ASP
    Réponses: 4
    Dernier message: 13/10/2005, 16h03
  5. [access][sql] commen inserer un champ du type oui/non
    Par cmoa59 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/04/2005, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo