web-dev-qa-db-ja.com

負の数を0にするデフォルトのphp関数

そのようなことはありますか?

例えば

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


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

max($var,0)を試してください。これは望ましい効果をもたらします。詳細については、 manual page をご覧ください。

148

組み込みではありませんが、ここにあります:

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

お役に立てれば

PHPでは、整数が負であり、ゼロに設定されているかどうかを確認するのは簡単ですが、私は次のものよりも短い(そして潜在的に高速な)ものを探していました:

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

さて、これは非常に迅速なチェックとリセットですが、これを行う関数maxもあり、配列でも動作します。

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

Max()関数は、指定された2つの数値の最大値を持つ数値を返します。

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)
4
loyola
function thefunction($number){
  if ($number < 0)
    return 0;
  return $number; 
}

それはトリックを行う必要があります

3
Ibu

単に:

echo $var < 0 ? 0 : $var;
1
Szél Lajos