我有一小段代码,它循环通过一个数组,并将结果回显到页面,如下所示:
while($row = mysqli_fetch_array($result)) {
echo '<tr><td><a target="_blank" href="' . $row['url'] . '">' . $row['name'] . '</a></td>' . '<td>' . $row['provider'] . '</td>' . '<td>' . $row['media'] . "</td></tr><br />\n";
}
它工作得很好,但我希望在$row‘’media‘上使用'if’语句,因为它包含一些NULL和一些!NULL结果。
我希望能够回应一个不同的反应,有点像这样:
if ($row‘’media‘!= NULL){ echo 'Nope';} else { echo $row’‘media’;}
在这种情况下这是可能的吗?
谢谢。
发布于 2010-07-28 13:00:23
完成此任务的最佳方法是使用ternary operators
while (whatever)
{
echo 'foo'
.($statement ? 'bar' : '')
.'baz';
}
发布于 2010-07-28 13:01:27
使用:
if ( is_null( $row['media'] ) ) { ... } else { ... }
发布于 2010-07-28 13:00:01
是的,您只需结束echo,执行if语句,然后使用另一个echo来完成代码。当它被解析时,HTML仍然是可用的。
while($row = mysqli_fetch_array($result)) {
echo '<tr><td><a target="_blank" href="' . $row['url'] . '">' . $row['name'] . '</a></td>' . '<td>' . $row['provider'] . '</td>' . '<td>';
if($row['media'] == NULL) { echo 'Nope'; } else { echo $row['media']}
echo "</td></tr><br />\n";
}
https://stackoverflow.com/questions/3353032
复制