0

我有三个变量($var、$var2 和 $var3),我希望它在它们有值时输出。

例如,如果$var = "Data";那么:

<ul>
<li>Data</li>
</ul>

如果任何其他变量具有值,则:

<ul>
<li>Data</li>
<li>Data2</li>
</ul>

或者

<ul>
<li>Data</li>
<li>Data3</li>
</ul>

<ul>
<li>Data</li>
<li>Data3</li>
<li>Data2</li>
</ul>

考虑到每个人都有不同的方式来编写他们的 php 代码,我不确定如何创建它以及使用什么方法。有人知道我怎么能创造这个吗?

另外:我在测试某些 php 代码时使用http://writecodeonline.com/php/ 。

4

4 回答 4

5
<ul>
    <?php foreach (array($var1, $var2, $var3) as $var) : ?>
        <?php if (!empty($var)) : ?>
            <li><?php echo $var; ?></li>
        <?php endif; ?>
    <?php endforeach; ?>
</ul>

您可以在此处查看输出writecodeonline.com


或者,也许您更喜欢这个:

<ul>
    <?php
    foreach (array($var1, $var2, $var3) as $var) {
        if (!empty($var)) {
            echo '<li>' . $var . '</li>';
        }
    }
    ?>
</ul>

(其实没关系,用你觉得好看的就行)

于 2012-06-19T20:18:13.667 回答
3

你可以试试:

<ul>
<?php foreach(array($var, $var2, $var3) as $value) : ?>
    <?php if (!empty($value)) : ?>
        <li><?php echo $value; ?></li>
    <?php endif; ?>
<?php endforeach; ?>
</ul>
于 2012-06-19T20:18:00.140 回答
0

使用数组和 foreach 打印变量。

http://php.net/manual/en/language.types.array.php

或者你可以使用这个(我不推荐):

if(isset($var)) {
    echo $var;
}
if(isset($var1)) {
    echo $var1;
}
if(isset($var2)) {
    echo $var2;
}

在我看来,最好的是 var-args。

function funcName() {
    for ($i = 0;$i < func_num_args();$i++) {
        echo '<li>'.func_get_arg($i).'</li>';
}
echo funcName($var,$var1,$var2);
于 2012-06-19T20:18:19.687 回答
0

我想从标题中你的变量在一个数组中。

如果是这样,只需执行一个 foreach 循环

foreach($arrayVars as $var)
{
  if(isset($var))
  {
   echo '<li>'.$var.'</li>
  }
}

无论如何,你应该清楚地解释你的问题是什么。我在这里做出假设是因为您对您的问题不是很明确。

于 2012-06-19T20:19:16.817 回答