Page 1 sur 1

[Fonctions] Multi-return

Posté : 16 juin 2008, 19:08
par katagoto
Bonjour à toutes et tous,
J'ai une fonction et j'aimerais qu'elle retourne plusieurs valeurs :
[True] et un (int) ou [False]

J'aimerais m'en servir comme ça :
<?php
function retour($argument)[
    if($argument=='j') return true; // Et il faudrait qu'elle retourne une autre valeur...
    else return false;
}
if($variable=retour($lettre)) echo "oui c'est la ".$variable."ème de l'alphabet"; // Ou $variable est la seconde valeur retournée
else die('un autre jour');
?>
Comment faire sâchant que je ne peux faire qu'un return, car après ma fonction est stoppée...

Si vous avez des idées je vous szerait très reconnaissant de m'en faire part 8-)

Par avance merci

Posté : 16 juin 2008, 19:28
par Cobaye
Fait en sorte que ta fonction retourne deux valeurs ! false ou quelques choses !

Code : Tout sélectionner

If($avaleuer!="toto"){ return false; }else{ return tavaleur; }
Comme si si ta fonction ne retourne pas false c'est soit true, soit un int et t'a plus qu'a tester ce qui est renvoyé.

Posté : 16 juin 2008, 19:53
par katagoto
Bien chef, mais ma valeur pourrait être égale à 0 :x

Posté : 16 juin 2008, 20:00
par Cobaye
Pour faire tes tests de valeur tu utilise === , les trois égales qui tiens compte du typage
donc 0 sera différent de false, comme 1 sera différent de true

Posté : 16 juin 2008, 20:08
par katagoto
Merci beaucoup

Posté : 16 juin 2008, 20:26
par AB
Une fonction ne retourne qu'une valeur à la fois ou un tableau à la fois. Donc au pire pour renvoyer plusieurs valeurs simultanément, il te reste la solution de renvoyer un tableau.
Je dis "au pire" car au mieux il serait peut-être plus avisé de revoir ton algo comme te l'a suggérer Cobaye.

EDIT Hou là j'ai tardé un peu trop longtemps avant de cliquer sur "envoyer" :?

Posté : 16 juin 2008, 20:29
par katagoto
C'est ce que je vient de faire et je m'aperçois que c'est mieu qu'autre chose...

[HS]Plus je fait des trucs dûr, plus je commence à oublier la base :( [/HS]