PHP,如果条件为数组到Foreach

时间:2018-11-23 12:21:43

标签: php

示例代码: HTML-

<input type="text" name="title1"/>
<input type="text" name="title2"/>
<input type="text" name="title3"/>

PHP 检查上面的字段是否包含文本。

$title1 = null;
if ($title1)
    $title1= "'1'";
$title2 = null;
if ($title2)
    $title1= ",'2'";
$title3 = null;
if ($title3)
    $title3= ",'3'";

制作数组

$titles = [$title1.$title2.$title3];

Foreach

foreach ($titles as $key=>$title) {
    echo '<p>' . $key.$title . '</p>';
}

当title1和title2包含文本时,当前仅打印第一个值。 您能告诉我上述代码有什么问题吗?更好的解决方案欢迎您!

2 个答案:

答案 0 :(得分:0)

$titles = [$title1.$title2.$title3]; 

这将使数组包含一个元素。

如果之前将它们分配为null,那么如何在所有标题变量中期望什么呢?

答案 1 :(得分:0)

您的主要问题在于以下方面:

$titles = [$title1.$title2.$title3];

您正在将字符串组装成一个字符串,而不是一个数组。因此$titles数组只有一个元素。

尝试一下:

$title_str = $title1.$title2.$title3;
$titles = explode( ",", $title_str );

也就是说,在您进行组装时(在代码块的较早部分),将其组装起来更有意义,但我不确定您实际上是如何获取值的,以及为什么HTML输入中没有值,但以上内容回答了您的数组问题。