2013-10-11 2 views
1

code UN (TRAVAIL aright):Comment fonctionne la fonction d'utilisation avec écho et retour?

function Hello($rel) { 
    $res = mysqli("SELECT * FROM TABLE"); 
    $result = $res->num_rows; 
    if ($rel == 1) { 
     print $result; 
    } elseif ($rel == 2) { 
     echo $result; 
    } elseif ($rel == 3) { 
     return $result; 
    } else { 
     return $result; 
    } 
} 

$pr = HELLO(3); 
echo $pr; 

Il aright de travail de code. Puis j'ai voulu faire une fonction pour traiter les données et sortir le résultat.

code:

function out($rel, $result) { 
    if ($rel == 1) { 
     print $result; 
    } elseif ($rel == 2) { 
     echo $result; 
    } elseif ($rel == 3) { 
     return $result; 
    } else { 
     return $result; 
    } 
} 

function Hello($rel) { 
    $res = mysqli("SELECT * FROM TABLE"); 
    $result = $res->num_rows; 
    out($rel, $result) 
} 

$pr = HELLO(3); 
echo $pr; 

Mais maintenant, le code fonctionne pas (pas afficher les résultats en ligne echo $pr;) ...

Dites-moi s'il vous plaît pourquoi j'ai erreur et comment écrire correctement?

P.S .: je ne sais pas besoin d'utiliser retour avant la fonction. Merci à tous pour mes nouvelles connaissances.

+0

Changer 'out ($ rel, $ result)' dans 'return out ($ rel, $ résultat);'. – putvande

+3

C'est une belle question. – Jimbo

+0

J'espère vraiment que c'est un exemple de code et non vos fonctions réelles. –

Répondre

0

Vous n'avez pas renvoyé la valeur dans le second code.

vous devez utiliser comme ceci:

return out($rel,$result). 

Le retour est dans la deuxième fonction, deuxième fonction renvoie la valeur à fonctionner d'abord, la fonction maintenant doit d'abord, pour revenir, donc u besoin d'y ajouter le retour aussi.

1

Vous avez simplement oublié d'ajouter return-out($rel,$result)

comme il est en ce moment, votre fonction Hello() n'a pas de valeur de retour.