<?php
$content = "
<table style='text-align: center;'>
<tr>
<td style='text-align: center;'>
".$result->name."
</td>
</tr>
</table>我有上面的代码,我想知道,我是否可以在第二个if的style中添加一个if ($result->name == ""){display: none;}语句,所以if ($result->name == ""){display: none;}。
有可能发生这种事吗?
注意,如果名称存在,上述代码将打印名称,如果不存在,则打印空的td。
提前感谢!
发布于 2018-07-11 14:46:35
以下是一些你可以做到的方法:
1:使用 三元算子
<?php
$content = "
<table style='text-align: center;'>
<tr>
<td style='text-align: center;" . ($result->name ? " display: none;" : "") . "'>
{$result->name}
</td>
</tr>
</table>
";2:将CSS分配给一个变量,并对其进行内插。
<?php
$css = $result->name ? " display: none;" : "";
$content = "
<table style='text-align: center;'>
<tr>
<td style='text-align: center;{$css}'>
{$result->name}
</td>
</tr>
</table>
";3:将$content变量赋值分解为位,以便您可以使用if()条件
<?php
$content = "
<table style='text-align: center;'>
<tr>
<td style='text-align: center;";
if($result->name) $content .= " display: none;";
$content .= "'>
{$result->name}
</td>
</tr>
</table>
";4:使用模板样式语法
<table style='text-align: center;'>
<tr>
<td style='text-align: center;<?php if($result->name): ?> display: none;<?php endif; ?>'>
<?= $result->name; ?>
</td>
</tr>
</table>如果您使用的是模板(例如.phtml文件),这是我的首选选项。
5:.或者混合一些(带有三元回波的模板样式)
<table style='text-align: center;'>
<tr>
<td style='text-align: center;<?= $result->name ? " display: none;" : ""; ?>'>
<?= $result->name; ?>
</td>
</tr>
</table>归根结底,它是你觉得最易读,最舒服的地方。
发布于 2018-07-11 14:29:49
当然,用三元操作符.
$content = "<table style='text-align: center;'>
<tr>
<td style='text-align: center;" . ($result->name == 'Foo Bar' ? ' display:none;' : '') . "'>
".$result->name."
</td>
</tr>
</table>"发布于 2018-07-11 14:31:31
你当然可以!这是一个使用三元语句的绝佳机会。让我解释一下。
三元语句如下所示:
<?php
$condition = true;
$content = 'Condition is ' . ( ($condition === true) ? 'met' : 'not met' ) . 'and some more text';
// Outputs 'Condition is met and some more text' because condition is true
?>本质上,它允许您编写内联条件语句。有时它们的可读性不是很强,但有时它们实际上使周围的代码更具可读性。
https://stackoverflow.com/questions/51288002
复制相似问题