Page 1 sur 1

Plus d'infos sur les fonctions...

Posté : 20 févr. 2015, 13:18
par keush
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.

Re: Plus d'infos sur les fonctions...

Posté : 20 févr. 2015, 13:48
par keush
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 ?

Re: Plus d'infos sur les fonctions...

Posté : 20 févr. 2015, 13:58
par @rthur
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 ?