首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包含html代码的php内容中的If语句。

包含html代码的php内容中的If语句。
EN

Stack Overflow用户
提问于 2018-07-11 14:24:03
回答 3查看 2.5K关注 0票数 0
代码语言:javascript
复制
<?php

    $content = "

            <table style='text-align: center;'>
                <tr>
                    <td style='text-align: center;'>
                       ".$result->name."
                    </td>
                </tr>
            </table>

我有上面的代码,我想知道,我是否可以在第二个ifstyle中添加一个if ($result->name == ""){display: none;}语句,所以if ($result->name == ""){display: none;}

有可能发生这种事吗?

注意,如果名称存在,上述代码将打印名称,如果不存在,则打印空的td

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-11 14:46:35

以下是一些你可以做到的方法:

1:使用 三元算子

代码语言:javascript
复制
<?php
$content = "

    <table style='text-align: center;'>
        <tr>
            <td style='text-align: center;" . ($result->name ? " display: none;" : "") . "'>
                {$result->name}
            </td>
        </tr>
    </table>
";

2:将CSS分配给一个变量,并对其进行内插。

代码语言:javascript
复制
<?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()条件

代码语言:javascript
复制
<?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:使用模板样式语法

代码语言:javascript
复制
<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:.或者混合一些(带有三元回波的模板样式)

代码语言:javascript
复制
<table style='text-align: center;'>
    <tr>
        <td style='text-align: center;<?= $result->name ? " display: none;" : ""; ?>'>
            <?= $result->name; ?>
        </td>
    </tr>
</table>

归根结底,它是你觉得最易读,最舒服的地方。

票数 3
EN

Stack Overflow用户

发布于 2018-07-11 14:29:49

当然,用三元操作符.

代码语言:javascript
复制
$content = "<table style='text-align: center;'>
               <tr>
                   <td style='text-align: center;" . ($result->name == 'Foo Bar' ? ' display:none;' : '') . "'>
                      ".$result->name."
                   </td>
               </tr>
           </table>"
票数 2
EN

Stack Overflow用户

发布于 2018-07-11 14:31:31

你当然可以!这是一个使用三元语句的绝佳机会。让我解释一下。

三元语句如下所示:

代码语言:javascript
复制
<?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
?>

本质上,它允许您编写内联条件语句。有时它们的可读性不是很强,但有时它们实际上使周围的代码更具可读性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51288002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档