2009-12-08 37 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答案的拇指,很好! :)

相关问题