示例代码: 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包含文本时,当前仅打印第一个值。 您能告诉我上述代码有什么问题吗?更好的解决方案欢迎您!
答案 0 :(得分:0)
$titles = [$title1.$title2.$title3];
这将使数组包含一个元素。
如果之前将它们分配为null,那么如何在所有标题变量中期望什么呢?
答案 1 :(得分:0)
您的主要问题在于以下方面:
$titles = [$title1.$title2.$title3];
您正在将字符串组装成一个字符串,而不是一个数组。因此$titles
数组只有一个元素。
尝试一下:
$title_str = $title1.$title2.$title3;
$titles = explode( ",", $title_str );
也就是说,在您进行组装时(在代码块的较早部分),将其组装起来更有意义,但我不确定您实际上是如何获取值的,以及为什么HTML输入中没有值,但以上内容回答了您的数组问题。