Plus d'infos sur les fonctions...

Eléphanteau du PHP | 29 Messages

20 févr. 2015, 13:18

Bonjour,

Comment récupérer le résultat $idp de ma fonction ?
function ddd ($dir) {
    GetImageSize($dir , $info);
    $iptc = iptcparse($info["APP13"]);
    $idp = $iptc['2#005'][0]; // idp = id unique de photo | 2#005 = Titre IPTC
    echo $idp; // avec un echo le résultat s'affiche lorsque j'appelle la fonction, normal,  mais je n'en veux pas dans ma fonction !!!!!
}

echo $res = ddd("img/001.jpg"); // Où et comment indiquer que je souhaite afficher le résultat $idp ?
Merci.

Eléphanteau du PHP | 29 Messages

20 févr. 2015, 13:48

En fait, j'ai l'impression qu'une fonction est hermétique, mais n'y a t-il vraiment pas possibilité d'en sortir des variables ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 févr. 2015, 13:58

En fait, j'ai l'impression qu'une fonction est hermétique, mais n'y a t-il vraiment pas possibilité d'en sortir des variables ?
Effectivement, il faut soit utiliser un return pour récupérer des données issues de la fonction :
http://php.net/manual/fr/functions.user-defined.php

Soit utiliser des variables globales (même si ça semble être la solution de faciliter, il est dans la majorité des cas préférable d'utiliser un return) :
http://php.net/manual/fr/language.variables.scope.php
function ddd ($dir) {
    GetImageSize($dir , $info);
    $iptc = iptcparse($info["APP13"]);
    $idp = $iptc['2#005'][0]; // idp = id unique de photo | 2#005 = Titre IPTC
    return $idp; 
}

echo $res = ddd("img/001.jpg"); // Où et comment indiquer que je souhaite afficher le résultat $idp ?
Quand tout le reste a échoué, lisez le mode d'emploi...