Page 1 sur 2
Fonction ne pas affiché les Zéro
Posté : 23 août 2013, 23:47
par surf4you
Bonjour à tous je me présente vite fait, donc moi c'est cyril et j'suis en dessous d'un débutant en php pourtant je me donne du mal mais ça rentre pas
je viens vous demander de l'aide au sujet d'une fonction que je souhaite créer
en gros j'utilise une base wordpress et un plugins d'import de données en Xml
et j'aimerais bien que lorsque certaines données sont à Zéro ne rien afficher ou alors simple un NC pour (non communiqué) si possible
j'ai vu deux trois truc sur empty()
mais j'arrive à rien
auriez svp une piste à me donner, merci d'avance
Cordialement Cyril
Re: Fonction ne pas affiché les Zéro
Posté : 24 août 2013, 07:09
par xTG
Voilà le principe.
$variable = 0;
if( empty($variable) )
echo "NC";
else
echo $variable;
Re: Fonction ne pas affiché les Zéro
Posté : 24 août 2013, 13:57
par Invité
Super merci beaucoup xTG pour ton aide ça fonctionne...
voici le code..
function WPA_Fix_Zero(){
$variable = 0;
if( empty($variable) )
echo "NC";
else
echo $variable;
}
Re: Fonction ne pas affiché les Zéro
Posté : 24 août 2013, 14:24
par moogli
Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.
Re: Fonction ne pas affiché les Zéro
Posté : 24 août 2013, 15:12
par surf4you
Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.
Ok merci c'est fait...
Re: [RESOLU] Fonction ne pas affiché les Zéro
Posté : 24 août 2013, 15:25
par moogli
Merci
Re: Fonction ne pas affiché les Zéro
Posté : 14 nov. 2013, 20:34
par surf4you
Re bonjour à tous...
je me permets de ré-ouvrir le sujet
en faite je souhaite à présent pouvoir afficher le contenu d'une autre variable si celle si n'a pas de valeur exemple si aucun prix afficher la valeur de loyer
je comprend le principe c'est un peut comme excel avec des Si, mais j'ai beau essayer des milliards de combinaisons, mais j'ai aucun résultat probant
voici le code merci pour votre aide
Code : Tout sélectionner
function WPA_Fix_Location($price,$loyer){
$price = '' ;
if (empty($price))
echo $price ;
else
echo $loyer;
}
Re: Fonction ne pas affiché les Zéro
Posté : 14 nov. 2013, 22:33
par computarelier
Salut,
Dans ton exemple, tu dis "Si y'a pas de prix, afficher le prix, sinon afficher le loyer". Tu es sûr de pas préférer l'inverse ? Du genre : "Si y'a un prix, tant mieux affiche le, sinon affiche le loyer " ?
if(!empty($price){
echo $price;
}
else {
echo $loyer;
}
Re: Fonction ne pas affiché les Zéro
Posté : 14 nov. 2013, 22:34
par sirakawa
Déjà pour que la fonction serve à quelque chose dans tous les cas:
function WPA_Fix_Zero($variable)
{
if (empty($variable))
{
return "NC" ;
}
else
{
return $variable;
}
}
$prix = WPA_Fix_Zero(0);
$tva = WPA_Fix_Zero(17.60);
/*etc*/
Re: Fonction ne pas affiché les Zéro
Posté : 14 nov. 2013, 22:49
par franckm
Pour tester des nombres(integer, float...), perso je déconseille empty qui pour moi s'applique plutôt à des objets de type tableau par exemple.
Pour tester un nombre entier par exemple, je le type toujours en entier avec (int)$price et je teste la valeur de la variable par rapport à 0:
if($price > 0){
...
}
Si votre variable est nulle ou vide, le fait de mettre (int) devant la transforme automatique en 0.
Re: Fonction ne pas affiché les Zéro
Posté : 15 nov. 2013, 22:40
par surf4you
Merci à tous pour votre aide
bon pour les deux messages plus haut j'ai rien compris désolé j'suis une bille limite blonde donc excusez-moi
après j'ai essayé ceci mais sans succès
Code : Tout sélectionner
function Fix_Location($price,$loyer){
if(!empty($price))
echo $price;
else
echo $loyer;
}
Re: Fonction ne pas affiché les Zéro
Posté : 16 nov. 2013, 14:27
par franckm
Essaies ça :
function Fix_Location($price,$loyer){
$lPrice = (int)$price;
if($lPrice > 0){
echo $lPrice;
}else{
echo $loyer;
}
}
Re: Fonction ne pas affiché les Zéro
Posté : 16 nov. 2013, 16:01
par surf4you
Merci franck pour ton aide mais non aucun changement
afin que je puisse comprendre pourquoi le $l devant $lPrice
pour que le script retourne 0 ???? si aucune valeurs c'est ça
merci
Re: Fonction ne pas affiché les Zéro
Posté : 16 nov. 2013, 18:14
par franckm
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...
Re: Fonction ne pas affiché les Zéro
Posté : 16 nov. 2013, 19:29
par surf4you
ok merci ça j'ai bien compris, donc j'ai testé et effectivement j'ai bien ça qui s'affiche
-> Price: 10
-> Loyer: 20
-> Loyer: 20
-> Loyer: 20
par contre ce que je ne comprend pas sur la fonction qui remplace le 0 par un Nc
fonctionne sur toutes les variables sauf sur le prix....
à la rigueur si j'arrive à afficher "location" si aucun prix n'est affiché serait déjà bien mais même là ça ne marche pas...
à ne rien comprendre pfffff