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 :

[Tableaux] Fonction in_array pas claire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Hightuxdotnet
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Par défaut [Tableaux] Fonction in_array pas claire
    Bonjour à tous,

    J'ai beau relire la documentation je ne vois pas ce qui ne va pas avec ce bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function check_destination($user_id, $destination) {
    	$spots = array('lb', 'bc', 'ed', 'kp', 'mc');
    	if (in_array($destination, $spots)) {
    		return true;	
    	} else {
    		return false;
    	}
    }
    J'ai une erreur qui m'indique que le deuxième argument de mon "in_array" n'est pas du bon type. C'est pourtant un array!

    Si une âme charitable peut me dépanner ce serai le bienvenue

    Merci

    Nicolas

  2. #2
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Effectivement, c'est bizarre...
    Ce que tu peux faire, c'est vérifier tes deux variables par un var_dump (on ne sait jamais)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function check_destination($user_id, $destination) {
    	$spots = array('lb', 'bc', 'ed', 'kp', 'mc');
    echo '<pre>';
    var_dump($destination, $spots);
    echo '</pre>';
    	if (in_array($destination, $spots)) {
    		return true;	
    	} else {
    		return false;
    	}
    }
    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]

  3. #3
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Ton code marche très bien chez moi, désolé...

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Normal que ça marche puisque la fonction est correcte, c'est $destination qui est incorrect

  5. #5
    Membre confirmé Avatar de Hightuxdotnet
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Par défaut
    Merci à tous pour vos réponses,

    Voici l'erreur:

    Warning: in_array() [function.in-array]: Wrong datatype for second argument in ...

    Effectivement dans cette fonction c'est bien mon $spots (pourtant bien déclarer en array plus haut) qui déconne et c'est là que je sèche.... $destination contient le string 'kp' pour tester.

  6. #6
    Membre confirmé Avatar de Hightuxdotnet
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Par défaut
    Et oui le var_dump est correct.

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Tu as quelle version de PHP ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/05/2010, 14h23
  2. fonction pas claire
    Par gadalla dans le forum Delphi
    Réponses: 3
    Dernier message: 12/07/2007, 23h02
  3. [Tableaux] Pb avec fonction in_array
    Par yveslens dans le forum Langage
    Réponses: 4
    Dernier message: 27/03/2007, 14h34
  4. [Tableaux] fonction in_array inopérante
    Par nicoaix dans le forum Langage
    Réponses: 7
    Dernier message: 21/04/2006, 19h37
  5. Trucs pas claire
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 09/07/2003, 22h10

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