这是我的PHP代码:
foreach ( $sums as &$sums_value ) {
if ( !empty($sums_value) ) {
$sums_value = sprintf("%+d",$sums_value);
}
} unset($sums_value);
$sums
包含一些[正面或负面]数字。以下是$sums
输出的示例:
/*
array (
[today] => +24
[yesterday] => -6
[in last week] => 0
[in last month] => 9
)
我这样使用它:(我生成一个HTML)
$date = array ('today', 'yesterday', 'in last week', 'in last month');
foreach( $date as $item ) {
$html .= '<span>'.$sums[$item].'</span>';
} echo $html;
/* output:
<span>+24</span><span>-6</span><span>0</span><span>9</span>
好的,一切都很好。
那我的问题是什么?它是关于着色的。我想设置:
所以我想要这个输出:
<span style="color:green">+24</span><span style="color:red">-6</span><span style="color:black">0</span><span style="color:green">9</span>
如您所见,我已向所有style="color:????"
个动态添加<span>
属性。我的意思是颜色取决于数量。我怎么能这样做?
答案 0 :(得分:1)
你可以在循环中测试总和:
CAST(regexp_replace(patient_id, ',' , '') AS INT)
答案 1 :(得分:1)
简单的php会做
echo 'style="color:';
if($sums[$item] == 0){
echo 'black';
}
else if($sums[$item] > 0){
echo 'green';
}
else{
echo 'red';
}
echo '"';
答案 2 :(得分:1)
在你的foreach中你需要添加一个if语句。
foreach( $date as $item ) {
If($item = 0){
$html .= '<span style="color:black">' . $sums[$item] . '</span>';
}else if($item>0){
$html .= '<span style="color:green">' . $sums[$item] . '</span>';
}else{
$html .= '<span style="color:red">' . $sums[$item] . '</span>';
}
}
答案 3 :(得分:1)
我认为你可以在没有PHP的情况下做到这一点。只有CSS3
但如果你想使用php。看看示例
function getColor($number) {
if ($number == 0) {
return 'black';
}
if ($number > 0) {
return 'green';
}
if ($number < 0) {
return 'red';
}
}
$date = array ('today', 'yesterday', 'in last week', 'in last month');
foreach( $date as $item ) {
$html .= '<span style="color:' . getColor($sums[$item]) . '">'.$sums[$item].'</span>';
} echo $html;