55 votes

Fonction php par défaut qui transforme les nombres négatifs en 0

Une telle chose existe t elle?

par exemple

 $var = -5;
echo thefunction($var); // should be 0


$var = 5;
echo thefunction($var); // should be 5

174voto

Alexander Gessler Points 26717

Essayez max($var,0) , qui aura l'effet désiré. Voir la page de manuel pour plus d'informations.

5voto

Pas intégré mais, ici vous avez :

 function thefunction($var){
   return ($var < 0 ? 0 : $var);
}

J'espère que cela t'aides

4voto

loyola Points 3325

En PHP, vérifier si un entier est négatif et s'il le met à zéro est facile, mais je cherchais quelque chose de plus court (et potentiellement plus rapide) que :

 if ($x < 0) $x = 0;

Eh bien, il s'agit d'une vérification et d'une réinitialisation très rapides, mais il existe une fonction max qui le fait également et qui fonctionne également avec les tableaux.

 $x = max(0, $x); // $x will be set to 0 if it was less than 0

La fonction max() renvoie le nombre avec la valeur la plus élevée de deux nombres spécifiés.

 echo max(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
echo max(0, 'hello'); // 0
echo max('hello', 0); // hello
echo max(-1, 'hello'); // hello

// With multiple arrays, max compares from left to right
// so in our example: 2 == 2, but 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)

// If both an array and non-array are given, the array
// is always returned as it's seen as the largest
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)

3voto

Ibu Points 17457
function thefunction($number){
  if ($number < 0)
    return 0;
  return $number; 
}

Cela devrait faire l'affaire

2voto

Szél Lajos Points 111

Simplement:

 echo $var < 0 ? 0 : $var;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X