我有以下代码:
$result = $conn->query($query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc())
{
echo "<tr>";
echo "<td>" . preg_replace('/[^0-9]+/','',$row['total']) . "</td>";
echo "</tr>";
}
我想做的是如果输出为空,然后插入(-)字符。仅当没有值输出时。
我尝试过:
$result = $conn->query($query);
if ($result->num_rows > 0) {
$total = $total ?? "" ?: "-";
while($row = $result->fetch_assoc())
{
echo "<tr>";
echo "<td>" . $total . "</td>";
echo "</tr>";
}
这将所有输出替换为(-)。 我该如何实现?请。谢谢您的帮助!
请注意,如果preg_replace('/[^0-9]+/','',$row['total'])
的结果为空,则应插入(-)字符。
输入如下:
100.
80.
70.
etc
预期的输出将是这样的:
Total
100
90
-
80
70
-
10
答案 0 :(得分:2)
您可以检查总价值,如果总价值为空,则将其替换。例如:
actions:
- utter_greet
- action_route
- utter_goodbye
entities:
- location
- travelmode
intents:
- goodbye
- greet
- address
slots:
location:
type: text
travelmode:
type: text
templates:
utter_goodbye:
- text: Güle güle
- text: Kendine iyi davran
- text: Allaha emanet ol
utter_greet:
- text: Merhaba! Bugün nereye gitmek istersin?
- text: Merhaba! Seni nereye götürüyüm?
utter_default:
- text: Seni tam anlamadım gideceğin yeri tekrar söyleyebilirmisin
- text: Nasıl tam anlamadım. Bir daha söyler misin?
答案 1 :(得分:0)
您还可以在mysql中使用case语句
SELECT (CASE
WHEN total regexp '^[0-9]+$' THEN total
ELSE '-' END) as total
FROM `tbl_order`
其中regexp '^[0-9]+$'
与变量total
是否为numeric
匹配
使用大小写,我们检查总计是否为数字,然后打印total
,否则打印-