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 :

Fonction avec paramètre NULL, converti en string


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 484
    Points : 873
    Points
    873
    Par défaut Fonction avec paramètre NULL, converti en string
    Bonjour à tous,

    j'ai une fonction qui fonctionne ainsi:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $cubeName='Sales';
    $subcube=palo_subcube($cubeName,NULL,"val2","val3","val4","val5");

    le nombre de paramètres après "$cubeName" peut être variable.

    je souhaiterais que ces paramètres soient variables. Donc j'ai essayé d'utiliser ceci:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $cubeName='Sales';
    $arrayParams=array(NULL,"val2","val3","val4","val5");
    $subcube=palo_subcube($cubeName,implode(',',$arrayParams);

    mais le problème c'est qu'il me convertit le paramètre NULL en chaine... Or il faudrait qu'il reste NULL pour que la fonction fonctionne.

    Est-ce seulement possible ? je ne sais pas trop si c'est clair

    d'avance merci!
    laloune
    Consultant B.I.
    Spécialité(s): Excel, SQL, Business Intelligence (Jedox Palo, Talend)

    "A problem worthy of attack proves its worth by fighting back." Piet Hein

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Non ce que tu fais n'a pas de sens.
    ton implode() fournit un seule valeur chaine : 'NULL,"val2","val3","val4","val5"'

    Il n'y a qu'a partir de PHP5.6 ou il y a une notation spécifique pour un nombre variable de paramètres de fonctions : http://php.net/manual/fr/functions.a...iable-arg-list

    Mais ça revient à utiliser un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $arrayParams=array(NULL, "val2","val3","val4","val5");
    $subcube =palo_subcube($cubeName, $arrayParams);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ou avant PHP 5.6, comme le montre le lien de sabotage, il y a func_get_args() et call_user_func_array() pour dynamiser l'appel.
    Ou même encore la classe ReflectionFunction.

  4. #4
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 484
    Points : 873
    Points
    873
    Par défaut
    Bonjour à vous deux,

    merci infiniment pour vos explications.


    avec call_user_func_array ca fonctionne impecc!!! Ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $cubeName='Sales';
    $arrayParams=array($cubeName,NULL,"val2","val3","val4","val5");
    $subcube=call_user_func_array(palo_subcube,$arrayParams);
    par contre étrange que je n'aie pas à mettre la fonction entre guillemets.

    excellente journée à vous.
    laloune
    Consultant B.I.
    Spécialité(s): Excel, SQL, Business Intelligence (Jedox Palo, Talend)

    "A problem worthy of attack proves its worth by fighting back." Piet Hein

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

Discussions similaires

  1. Fonction avec paramètre optionnel
    Par Damien2007 dans le forum ASP
    Réponses: 1
    Dernier message: 27/06/2007, 15h49
  2. [Hibernate] Insertion avec paramètres null
    Par kephy dans le forum Hibernate
    Réponses: 5
    Dernier message: 14/02/2007, 09h22
  3. Fonction avec paramètre illimité
    Par Kiboumz dans le forum Langage
    Réponses: 2
    Dernier message: 09/07/2006, 17h58
  4. [Function]Appel de fonction avec paramètre
    Par julienOriano dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/06/2006, 07h48
  5. Réponses: 4
    Dernier message: 11/09/2005, 01h21

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