Passage d'array dans fonction

Pierre2587
Invité n'ayant pas de compte PHPfrance

26 févr. 2019, 13:35

Bonjour à vous,
Je ne comprend ce qui se passe dans mes scripts, pourriez vous m'aider s'il vous plait ?
Voici :
Dans un fichier j'ai un Array : "tab". Et dans ce "tab" je veux récupérer une partie 'live'.
Lorsque je fais :
echo $tab['live']['truc'];
J'ai bien la réponse attendue.

Mais dès que je veux passer cet Array dans un fonction :

Code : Tout sélectionner

if ( MaFunction($tab['live']) ==='OK') {...
Ce n'est plus un Array ?
Car lorsque je fais :

Code : Tout sélectionner

MaFunction(array $tab) {...
J'ai un message d'erreur :
Argument 1 passed to MaFunction() must be of the type array, boolean given, called in
Avez vous une idée ?
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

26 févr. 2019, 14:08

Bonjour,

Et si tu fais un var_dump($tab) avant son passage en paramètre, ça donne quoi ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Pierre2587
Invité n'ayant pas de compte PHPfrance

26 févr. 2019, 14:25

Bonjour @rthur,
Merci de ta réponse.

En faite je ne peux pas faire de "var_dump" le site est en prod.

Je récupère dans une variable les résultats et les enregistre en BDD
Je sais c'est tordu mais je reprend un site... et je fais avec les moyens du bord

Donc en faisant :

Code : Tout sélectionner

$variable = var_dump($tab)
Est enregistré en BDD : 1

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

26 févr. 2019, 14:49

Bonjour @rthur,
Merci de ta réponse.

En faite je ne peux pas faire de "var_dump" le site est en prod.

Je récupère dans une variable les résultats et les enregistre en BDD
Je sais c'est tordu mais je reprend un site... et je fais avec les moyens du bord
Tu ne peux pas travailler comme cela, et le meilleur exemple c'est que là tu cherches à debuguer en prod sans pouvoir utiliser les outils de debug, c'est très risqué et ça te bloque pour travailler efficacement.

Donc fait une copie de ton site en local ou sur un autre serveur pour pouvoir faire des tests.
Donc en faisant :

Code : Tout sélectionner

$variable = var_dump($tab)
Sauf que la fonction var_dump() ne fonctionne pas comme ça, regarde la valeur de retour :
http://php.net/var_dump
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 1967 Messages

26 févr. 2019, 16:31

Il existe var_export dans ce cas là, mais attention à ne pas oublier le 2eme argument
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube