PHP retour de fonction

Résolu/Fermé
capa57 Messages postés 352 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 26 mai 2016 - 13 nov. 2009 à 15:20
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 - 13 nov. 2009 à 15:33
Bonjour,
voici mon code

function parag($paragraphe1, $paragraphe2)
{
echo "<p>$paragraphe1</p> <p>$paragraphe2</p>";
}
$test = parag(premier,deuxieme);
echo $test;

il me renvoi ceci:

Notice: Use of undefined constant premier - assumed 'premier' in C:\wamp\www\td2 php\td4.php on line 77

Notice: Use of undefined constant deuxieme - assumed 'deuxieme' in C:\wamp\www\td2 php\td4.php on line 77

premier

deuxieme


et si je veux passer en parametre plusieurs mots de suite par exemple
$test = parag(premier paragraphe a tester ,deuxieme test);
echo $test;

il me renvoi ceci

Parse error: parse error in C:\wamp\www\td2 php\td4.php on line 77

ça vient d'ou ?
Faut-il aussi que je déclare mes paramètres , le type ? (char par exemple)
A voir également:

3 réponses

resalut Messages postés 784 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 21 janvier 2010 55
13 nov. 2009 à 15:24
--salut,
$test = parag("premier","deuxieme");
La culture est la seule richesse que l'on ne peut perdre
0
capa57 Messages postés 352 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 26 mai 2016 13
13 nov. 2009 à 15:29
rohhhhhhhhhh les " " , j'oublie souvent ça :D

Merci ;)
0
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 199
13 nov. 2009 à 15:33
Salut. Il n'y a pas de type à déclarer en PHP (enfin à part les array).
Les paramètres à entrer, sont soit des variables (qui commencent par $), soit des numériques, soit des chaines de caractères (qui sont entourées par des ").
Pour qu'un fonction retourne une variable, il faut utiliser le mot-clé return/

Donc ta fonction :

<?php
function parag($paragraphe1, $paragraphe2) {

$maVar = '<p>'.$paragraphe1.'</p><p>'.$paragraphe2.'</p>';
return $maVar;

}

$premier = "Ma chaine 1";
$deuxieme= "Ma chaine 2";

$test = parag($premier,$deuxieme);
echo $test;


$test2 = parag("Ma chaine 1","Ma chaine 1");
echo $test2;
?>

Ou encore

<?php
function parag($paragraphe1, $paragraphe2) {

$maVar = '<p>'.$paragraphe1.'</p><p>'.$paragraphe2.'</p>';
echo $maVar;

}

$premier = "Ma chaine 1";
$deuxieme= "Ma chaine 2";

parag($premier,$deuxieme);

parag("Ma chaine 1","Ma chaine 1");

?>

Les deux affichent le même résultat.
La première fonction retourne une chaine, qu'il faut stocker dans une variable. La seconde ne retourne rien, donc on l'appel directement.
0