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] création de tableau qui ne se fait pas


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Par défaut [Tableaux] création de tableau qui ne se fait pas
    bonsoir à tous

    je n'arrive pas à constituer mon tableau avec in_array...
    je dois mal écrire quelque chose...

    j'ai une variable qui a 3 valeurs dedans: toto,tata,titi (résultat d'une requête)
    et je voudrais les mettre dans une variable sous la forme d'un array("toto","tata","titi") pour ensuite tester l'existence d'autres valeurs par rapport à celles du tableau

    dans le script ci-dessous je voudrai bien entendu que ça me réponde toto a été trouvé...

    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
    18
    19
    <?php
    	echo $type.'<br><br>'; //me donne toto,tata,titi
    	$liste_decoupe = explode(", ", $type);
    	$compteurbis = "0";$compteur_trouve="0";
    	$liste_type = 'array("';
    	foreach ( $liste_decoupe as $element) {
    		$liste_type = $liste_type.$element.'","';
    		echo $element."<br/>";
    		$compteurbis++;		
    	}
    	$liste_type = $liste_type.'"';
    	$liste_type = str_replace(',""',')',$liste_type);
    	echo $liste_type; // me donne array("toto","tata","titi")
     
    	$valeur="toto";
    	if (in_array ($valeur, $liste_type)) {
    		echo $valeur." a été trouvé...";
    	}
    ?>
    quabd je lance ce script il me donne une erreur de syntaxe, mais je n'arrive pas à la corriger...
    Warning: in_array() [function.in-array]: Wrong datatype for second argument in test.php on line 16
    merci de votre aide...

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    J'ai pas compris votre méthode C'est pas plus simple ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    echo $type.'<br><br>'; //me donne toto,tata,titi
    $liste_decoupe = preg_split("[, ]", $type, -1, PREG_SPLIT_NO_EMPTY);
    $valeur="toto";
    if (in_array($valeur, $liste_decoupe)) {
        echo $valeur." a été trouvé...";
    }
    ?>
    Sachant que explode (ici remplacée volontairement par une fonction plus évoluée qui effectue un travail semblable) renvoie déjà un tableau et qu'un tableau ne se "déclare" pas comme une chaîne mais à l'aide de la fonction array, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $tableau = array(1, 3, 'chaîne', FALSE);
    foreach ($tableau as $valeur) {
        echo $valeur . '<br/>';
    }
    La fonction in_array quant à elle permet de savoir si un élément (une chaîne, un entier, ...) est ou non présent au moins une fois dans le tableau donné.


    Julp.

  3. #3
    Membre éclairé Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Par défaut
    oui en effet c'est plus simple avec votre solution...

    en fait j'avais un pb d'initialisation de variables, et du coup je me suis lancé dans toutes les directions (sans réflecion véritablement logique...)

    merci beaucoup

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/06/2007, 16h03
  2. Test qui ne se fait pas
    Par GLDavid dans le forum Linux
    Réponses: 12
    Dernier message: 07/03/2006, 14h57
  3. [Tableaux] tableau qui ne s'additionne pas
    Par apprenti-fab dans le forum Langage
    Réponses: 8
    Dernier message: 21/01/2006, 14h19
  4. [HTML] Image en fond d'un tableau qui ne se répète pas.
    Par yoyot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/02/2005, 17h08
  5. Pb de selection qui ne se fait pas
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/08/2004, 10h54

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