par
franckm » 16 nov. 2013, 18:14
Si tu fais ça:
<?php
function Fix_Location($price,$loyer){
$price = (int)$price;
if($price > 0){
return $price ;
}else{
return $loyer;
}
}
echo '-> Price: '.Fix_Location(10, 20).'<br />';
echo '-> Loyer: '.Fix_Location(0, 20).'<br />';
echo '-> Loyer: '.Fix_Location('', 20).'<br />';
echo '-> Loyer: '.Fix_Location(NULL, 20).'<br />';
?>
Le premier doit t'afficher 10 et les autres 20, c'est
OBLIGE.
Le l ne signifie rien sauf que je définis une nouvelle variable locale (voilà pourquoi l), je l'ai enlevé si ça te perturbe...
Le truc est je 'force' cette variable à être un entier. Donc si elle est nulle, elle prend la valeur 0. Le test if, else est lui assez explicite...
Par contre, ne mets jamais un echo en sortie de function, utilises toujours un return parce que si tu fais un echo de ta fonction qui fait elle même un echo ça va pas le faire...
Si tu fais ça:
[php]
<?php
function Fix_Location($price,$loyer){
$price = (int)$price;
if($price > 0){
return $price ;
}else{
return $loyer;
}
}
echo '-> Price: '.Fix_Location(10, 20).'<br />';
echo '-> Loyer: '.Fix_Location(0, 20).'<br />';
echo '-> Loyer: '.Fix_Location('', 20).'<br />';
echo '-> Loyer: '.Fix_Location(NULL, 20).'<br />';
?>
[/php]
Le premier doit t'afficher 10 et les autres 20, c'est [u]OBLIGE[/u].
Le l ne signifie rien sauf que je définis une nouvelle variable locale (voilà pourquoi l), je l'ai enlevé si ça te perturbe...
Le truc est je 'force' cette variable à être un entier. Donc si elle est nulle, elle prend la valeur 0. Le test if, else est lui assez explicite...
Par contre, ne mets jamais un echo en sortie de function, utilises toujours un return parce que si tu fais un echo de ta fonction qui fait elle même un echo ça va pas le faire...