无论如何要制作一个PHP功能吗?似乎第二组变量杀死了我试图编写的任何函数。
$flow = (15);
$low = (10);
$good =(20);
$high =(30);
if ($flow <= $low)
$class = "tdy";
else if (($flow > $low) && ($flow <= $good))
$class = "tdg";
else if ($flow >= $high)
$class = "tdr";
我已经尝试用这个来创建一个函数,但它只是没有高变量。 if else语句单独运行变量。如果我可以重置变量并在每个实例上使用函数调用if else语句,那将节省大量时间。
答案 0 :(得分:1)
我认为你的逻辑可以更简单:
function getColor($flow, $low, $good) {
if ($flow <= $low)
return "tdy";
if ($flow <= $good)
return "tdg";
return "tdr";
}
由于第二次检查($ flow&gt; $ low)在第一个if中是无用的,因为如果这是真的,则执行第一个if。当然,如果第一个如果没有被执行,那么唯一的选择是最后一个,如果这使得无法检查。
答案 1 :(得分:0)
function getColor($flow, $low, $good, $high) {
if ($flow <= $low)
return "tdy";
else if (($flow > $low) && ($flow <= $good))
return "tdg";
else if ($flow >= $high)
return "tdr";
}
答案 2 :(得分:0)
<?php
$def = array(10=>'tdy',20=>'tdg',30=>'tdr');
foreach(array(9,10,11,19,20,21,29,30,31) as $i) {
printf("%02d %s\n", $i, foo($i, $def));
}
function foo($val, $sel) {
foreach($sel as $k=>$v) {
if ( $val<=$k ) {
return $v;
}
}
return end($sel);
}
打印
09 tdy
10 tdy
11 tdg
19 tdg
20 tdg
21 tdr
29 tdr
30 tdr
31 tdr