有沒有這樣的事情?默認php函數將0中的負數編號爲
爲例如
$var = -5;
echo thefunction($var); // should be 0
$var = 5;
echo thefunction($var); // should be 5
有沒有這樣的事情?默認php函數將0中的負數編號爲
爲例如
$var = -5;
echo thefunction($var); // should be 0
$var = 5;
echo thefunction($var); // should be 5
嘗試max($var,0)
,這將產生預期的效果。有關更多信息,請參閱manual page。
將它,如果是$ var是不是一個數字的工作? (例如,字符串,null或false) – foo
@foo如果要進行數字比較,則可以將參數始終鍵入一個數字(例如,整數)。例如。 'max((int)$ var,0)' –
@foo:請參閱我鏈接到的頁面上的示例。正如你所看到的,關於非數字的行爲是明確的,但可能不是你想要的。您應該過濾非數字,如果您知道數字,只能使用'max'。 –
function thefunction($number){
if ($number < 0)
return 0;
return $number;
}
應該做的伎倆
以及我希望有一個內置函數,所以我不必創建自己的,因爲這不是一個很大的交易... – foo
沒有內置,但是,在這裏你有:
function thefunction($var){
return ($var < 0 ? 0 : $var);
}
希望這有助於
在PHP,檢查一個整數是否爲負數ve和如果是則其設置爲零是很容易的,但我一直在尋找一些更短的(可能更快)比:
if ($x < 0) $x = 0;
嗯,這是一個非常快速的檢查和復位,但有一個功能最大也這樣做,它也適用於數組。
$x = max(0, $x); // $x will be set to 0 if it was less than 0
max()函數返回最大值爲兩個指定數字的數字。
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)
@Peter:ABS返回數字的絕對值,而不是0,如果數字爲負... – woliveirajr