[英]php function to set color by variable
无论如何要使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语句,则将节省大量时间。
我认为您的逻辑可以更简单:
function getColor($flow, $low, $good) {
if ($flow <= $low)
return "tdy";
if ($flow <= $good)
return "tdg";
return "tdr";
}
由于第一个if的第二个检查($ flow> $ low)没有用,因为如果为true,则执行第一个if。 当然,如果没有执行第一个选项,则唯一的选择是其他选项(如果这使得它无用检查)。
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";
}
<?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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.