我有这个PHP函数来改变两个数字之间的颜色:
{{1}}
但是在行动中这个功能对我不起作用。我该如何解决这个问题?
答案 0 :(得分:1)
您正在比较range()
这是一个数组,而$number
是整数,这是无效的,
更改您的功能,例如
function color_switch($number) {
switch ($number) { // switching the function argument
case $number <= 3 : // if less than three, execute case
$color = "progress-bar-danger";
break;
case $number <= 5 :
$color = "progress-bar-warning";
break;
case $number <= 6 :
$color = "progress-bar-default";
break;
case $number <= 8 :
$color = "progress-bar-success";
break;
case $number <= 10 :
$color = "progress-bar-success";
break;
}
return $color;
}
答案 1 :(得分:1)
您对开关的使用不正确,您对range()的使用也是如此。
您的开关参数应该是您评估的变量。
Range()将返回一个包含范围的数组。
所以正确的代码更好:
function color_switch($number) {
switch ($number){
case in_array($number, range(1 , 3)):
$color = "progress-bar-danger";
break;
case in_array($number, range(3 , 5)):
$color = "progress-bar-warning";
break;
case in_array($number, range(5 , 6)):
$color = "progress-bar-default";
break;
case in_array($number, range(6 , 8)):
$color = "progress-bar-success";
break;
case in_array($number, range(8 , 10)):
$color = "progress-bar-success";
break;
}
return $color;
}