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 :

Vérifier un array


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 143
    Par défaut Vérifier un array
    Bonjour j'ai une variable a vérifié
    elle me renvoie des array comme ceci
    Array ( [0] => 1 [1] => 2 [2] => 3 )
    et moi je dois faire un test si ==1 alors si ==2 si ==1,2etc
    j'ai fait ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if (in_array(array(1), $newsletter, true)){
    $subscribe = array(1);
    }elseif (in_array(array(2), $newsletter, true)) {
    $subscribe = array(2);
    }elseif (in_array(array(3), $newsletter, true)) {
    $subscribe = array(3);
    }elseif (in_array(array(1, 2), $newsletter, true)) {
    $subscribe = array(1,2);
    }elseif (in_array(array(1, 3), $newsletter, true)) {
    $subscribe = array(1,3);
    }elseif (in_array(array(2, 3), $newsletter, true)) {
    $subscribe = array(2,3);
    }elseif (in_array(array(1, 2, 3), $newsletter, true)) {
    $subscribe = array(1,2,3);
    }else{
    $subscribe = array(0);
    }
    $newsletter étant le array en question

    mais cela ne fonctionne pas => vous auriez une idée ?
    Merci

  2. #2
    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
    Par défaut
    Je ne comprends pas ce que tu veux faire.
    Dans le code que tu écris quand $newsletter contient 1 alors $suscribe contient 1 ... quand $newsletter contient 1 et 2 alors $subscribe contient 1 et 2 ...
    Quelle est le but, la logique de ces tests ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 143
    Par défaut
    hello alors c'est vrai j'ai pas develloper le contexte
    $newsletter est une variable venant d'un formulaire (case à cocher) qui permet à l'utilisateur de choisir la newsletter ou il veut s'abonné
    elle renvoie
    cas 1 Array ( [0] => 1 [1] => 2 [2] => 3 )
    cas 2 Array ( [0] => 1 )
    cas 3 Array ( [1] => 2 )
    etc

    mes conditions permettent de checker les valeurs et de mettre ca dans une autre variable
    $subscribe = array(1,2,3);
    qui elle est insérer dans une boucle d'enregistrement dans la bdd
    ce que je veut faire c'est si la case 1 est coché
    alors inscription dns la liste 1 etc etc
    c'est plus clair ?
    Merci

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    En gros, tu veux vérifier que $newsletter ne contient pas autre chose que 1, 2 ou 3 et ensuite copier les valeurs dans $subscribe ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 143
    Par défaut
    je veus verifier ce que contiens $newsletter puis en fonction remplir le $subscribe => le fait qu'ils aient les même entrée est une coeincidence
    cela pourrait etre
    si $newsletter contiens 1 ET 3
    alors
    $subscribe = array(5,6)
    ca c'est moi qui choisi en fonction des id des neswletters

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    En supposant qu'à chaque valeur reçue dans newsletter correspond une valeur à mettre dans subscribe, tu peux faire un tableau de correspondance, avec en index la donnée reçue du formulaire et en valeur la donnée à mettre dans $subscribe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $news_sub = array('1' => '1', '2' => '2', '3' => '3');
    $subscribe = array();
    foreach ($newsletter as $news_id) {
        if (isset($news_sub[$news_id])) {
            $subscribe[] = $news_sub[$news_id];
        } else {
            // on a reçu une valeur qui ne correspond à rien : traitement d'erreur : on vide $subscribe et on sort de la boucle
            $subscribe = array();
            break;
        }
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Comment vérifier si Excel est installé ?
    Par mathieutlse dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 16/08/2017, 18h49
  2. Erreur "size array"
    Par boobob dans le forum C
    Réponses: 3
    Dernier message: 06/08/2003, 10h18
  3. TStringList en array of string
    Par JediKerian dans le forum Langage
    Réponses: 2
    Dernier message: 20/03/2003, 15h37
  4. Réponses: 2
    Dernier message: 23/02/2003, 00h49
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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