我正在尝试在HTML表格列中获取数据,并根据它的值使用PHP格式化它。该列跟踪移动,因此如果它是一个正值,我想在值之前添加一个向上的箭头(↑)。如果它是负数,我想用向下的箭头(↓)替换' - '。我已经设置了一个IF / ELSE语句来检查数据的值。我可以让向上箭头显示没有问题,但我无法按照我喜欢的方式格式化负值。我已经在Stack上研究了这个问题并开始使用str_replace。我现在设置它的方式,我可以得到像-2这样的负值,用↓2替换,但是在↓2旁边,-2仍然存在(就像这个↓2 -2)。我有点理解为什么会这样,我只是不知道如何让它做我想要的。这是我的IF声明:
if ($row['move'] > 0) {
$arrow = '↑ ';
} else if ($row['move'] < 0) {
$arrow = str_replace('-', '↓ ', $row['move']);
} else {
$arrow = '';
}
以下是我打印数据的方法(其中一些是为了避免不相关的代码)。 $ style更改文本的颜色:
echo "<td{$style}>" . $arrow.$row["move"] . "</td><td>"
感谢您提供的任何帮助!
答案 0 :(得分:3)
事实上,我不会使用str_replace
,而是取$row['move']
的绝对值。
// decide which arrow to use
if ($row['move'] > 0) {
$arrow = '↑ ';
} else if ($row['move'] < 0) {
$arrow = '↓ ';
} else {
$arrow = '';
}
// remove the sign (if it's there)
$move = abs($row['move']);
// output
echo "<td{$style}>{$arrow}{$move}</td><td>";