2009-12-08 62 views

回答

4

我不這麼認爲,但有min()max()

function check($lower, $val, $upper) { 
    return min(max($lower, $val), $upper); 
} 
0

我不知道的人,但你可以使用min()max()。順便說一句 - 它看起來像你真正要求的是三個整數的中點。無論哪種方式,代碼如下所示:

function midValue($lowerBound, $upperBound, $value) { 
    return (min($upperBound, max($lowerBound, $myValue))); 
} 
0
<?php 

echo(check(20, 40, 50)); 

function check($lower,$val, $upper){ 
if ($val>$lower && $val<$upper){ 
return $val; } 
else if ($val<=$lower){ 
return $lower;} 
else if ($val>=$upper){ 
return $upper;} 
} 

是這樣工作的有效的PHP。我看不出太大的問題......

+0

問題是,太多的功能太多的代碼行。如果每行使用6行代碼就足夠了,那麼你的程序很快就會變得難以控制。 – 2009-12-08 05:39:48

2

想不出MySQL這個單一的功能,但這個成語會做同樣的:

GREATEST(@lower, LEAST(@val, @upper)) 
0

如你預期它可能工作,添加一些文檔,優先考慮Docbloc類型的格式,很好地幫助人們瞭解你正在做的事情。它增加了一種專業的觸覺。

我想湯姆把你的代碼分解了。

MYSQL答案的拇指,很好! :)

相關問題