我創(chuàng)建了一個(gè)熱圖函數(shù),我將使用它來使用 PHP 7.2 填充 html 表格的單元格。這是我的功能:function bg($latency) { if ($latency ==0) {echo '#11FFFF';} elseif ($latency <30) {echo '#22FFFF';} elseif ($latency <60) {echo '#33FFFF';} elseif ($latency <90) {echo '#44FFFF';} elseif ($latency <120) {echo '#55FFFF';} elseif ($latency <150) {echo '#66FFFF';} elseif ($latency <180) {echo '#77FFFF';} elseif ($latency <210) {echo '#88FFFF';} elseif ($latency <240) {echo '#99FFFF';} elseif ($latency <270) {echo '#AAFFFF';} elseif ($latency <300) {echo '#BBFFFF';} elseif ($latency >=300) {echo '#CCB27F';} }我使用簡單的 select 語句從 MySQL 表中提取值,然后嘗試使用以下代碼片段構(gòu)建表:while($row = mysqli_fetch_assoc($result)) { echo '<tr><td>'.$row['origin'].'</td><td bgcolor='.bg($row['lt01']).'>'.$row['lt01'].'</td></tr>';}但由于某種原因,輸出出現(xiàn)亂碼,函數(shù)輸出出現(xiàn)在 HTML 源代碼之前:#11FFFF<tr><td>LT01</td><td bgcolor=>0</td></tr>#22FFFF<tr><td>LT02</td><td bgcolor=>11</td></tr>#44FFFF<tr><td>LT03</td><td bgcolor=>62</td></tr>#44FFFF<tr><td>LT04</td><td bgcolor=>74</td></tr>#99FFFF<tr><td>LT05</td><td bgcolor=>214</td></tr>我一生都無法弄清楚這一點(diǎn)。
1 回答
大話西游666
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
這是因?yàn)槟?code>bg函數(shù)將顏色代碼回顯到屏幕,而不是返回它以供其他 PHP 代碼使用。return更改要使用的函數(shù)echo,它將按預(yù)期工作。
function?bg($latency)?{
????if?($latency?==?0)?????{return?'#11FFFF';}?
????elseif?($latency?<?30)???{return?'#22FFFF';}?
????elseif?($latency?<?60)???{return?'#33FFFF';}?
????elseif?($latency?<?90)???{return?'#44FFFF';}?
????elseif?($latency?<?120)??{return?'#55FFFF';}?
????elseif?($latency?<?150)??{return?'#66FFFF';}?
????elseif?($latency?<?180)??{return?'#77FFFF';}?
????elseif?($latency?<?210)??{return?'#88FFFF';}?
????elseif?($latency?<?240)??{return?'#99FFFF';}?
????elseif?($latency?<?270)??{return?'#AAFFFF';}?
????elseif?($latency?<?300)??{return?'#BBFFFF';}?
????elseif?($latency?>=?300)?{return?'#CCB27F';}?
}echo當(dāng)您想立即在屏幕上顯示內(nèi)容時(shí)使用。由于 PHP 解析器的工作方式,函數(shù)echo中的bg會(huì)在echo調(diào)用該函數(shù)的 之前運(yùn)行,因?yàn)楦讣?code>echo尚未完成。這就是return發(fā)揮作用的地方。它不是立即將內(nèi)容打印到屏幕上,而是將其傳遞回任何調(diào)用的函數(shù),以便以您希望的任何方式使用。
- 1 回答
- 0 關(guān)注
- 140 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
