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 :

passer un court tableau à une fonction perso


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut passer un court tableau à une fonction perso
    Salut

    Mon problème est un tableau contenant quelques lettres..

    J'ai une fonction qui me retourne un resultat vide alors que son travail c'est de prendre une lettre dans le tableau que je passe en paramètre, d'ajouter une lettre et de me retourner le groupe de lettre que j'appelle mot.

    Quand j'affiche avec echo le mot retourné, je vois que c'est vide, enfin il ne contient que "LISTE="..

    Alors ma question est :

    Comme mon tableau de lettres est déclaré dans le corps du programme avant d'appeler la fonction, est-ce que mon mot de retour est vide à cause de cela ?
    je veux dire par là, est-ce que le programme passe bien le tableau avec ses valeurs, à la fonction, car ça m'embêterais de mettre la déclaration du tableau dans la boucle qui appelle la fonction, parce que j'ai pas envie de créer un tableau à chaque tour de boucle.
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    $tablo1=array('A','B','C','D');
    $tablo2=array('E','F','G','H');
     
    $info="Liste=";
     
    function mafonction($mot,$flag,$tablo1,tablo2)
    {
    	$choix=0;
    	if($flag==1)
    	{
    		$choix=rand(0,count($tablo1)-1);
    		$lettre=$tablo1[$choix];
    		$flag=0;
    	}else
    	{
    		$choix=rand(0,count($tablo2)-1);
    		$lettre=$tablo2[$choix];
    		$flag=1;
    	}
    	$mot=$mot.$lettre;
    	return $mot;
    }
     
    // Programme.
     
    for($n=1;$n<=20;++$n)
    {
    	$mot="";
    	$flag=1;
    	for($i=1;$i<=6;++$i)
    	{
    		mafonction($mot,$flag,$tablo1,$tablo2);
    		if($i>=3)$info=$info.$mot;
    	}
     
    }
     
    echo $info;

  2. #2
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    Bon, mon programme fonctionne car j'ai intégré à l'intérieur le code de la fonction, donc plus besoin de la fonction, mais j'aurais bien aimé savoir pourquoi le $info ne contenait rien d'autre que sa chaine de départ "Ligne=".

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 713
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 713
    Par défaut
    donc le soucis est peut-être parce que vous n'utilisez pas le retour de l'appel à "mafonction" ligne 32.

  4. #4
    Membre émérite

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 650
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mathieu Voir le message
    donc le soucis est peut-être parce que vous n'utilisez pas le retour de l'appel à "mafonction" ligne 32.
    effectivement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mot=mafonction($mot,$flag,$tablo1,$tablo2);
    et en plus, il y a un $ qui manque devant

    tablo2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function mafonction($mot,$flag,$tablo1,$tablo2)

  5. #5
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    Salut

    Ah merci beaucoup pour cet éclaircissement, j'ai appris quelque chose là, je croyais qu'il suffisait d'appeler la fonction pour avoir un retour, donc maintenant je saurais comment faire, merci encore

    je mets en résolu !

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

Discussions similaires

  1. comment passer un tableau à une fonction javascript
    Par beegees dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/03/2009, 20h48
  2. Réponses: 8
    Dernier message: 10/03/2006, 18h28
  3. [MySQL] Une fonction perso pour aléger le code...
    Par tsing dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/11/2005, 00h56
  4. [c#] passer un textbox dans une fonction
    Par damn dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/09/2005, 17h54
  5. Passer en paramètre d'une fonction (...)
    Par Captain_JS dans le forum C++
    Réponses: 5
    Dernier message: 03/11/2004, 08h18

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