这是一个带有foreach的数组吗?

时间:2012-06-19 20:14:10

标签: php

我有三个变量($ 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 个答案:

答案 0 :(得分: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.comsee the output here


或许你更喜欢这个:

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

(真的没关系,只要使用你认为更好看的东西)

答案 1 :(得分:3)

您可以尝试:

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

答案 2 :(得分: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);

答案 3 :(得分:0)

我认为从标题中你的变量在数组中。

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

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

无论如何,你应该清楚地解释你的问题是什么。我在这里做了一些假设,因为你不清楚你的问题是什么。