for 循环检查 PHP 中是否为空值

for loop check if empty value in PHP

在 PHP 我有 3 个字段。我只想使用循环输出具有值的字段。

$field_1 = "john";
$field_2 = "";
$field_3 = "jack";



for($a = 1; $a <= 3; $a++)
{
$fieldOutput =  '$field_' . $a;
    
    if (!empty($fieldOutput)) {
    echo $fieldOutput;
}
}

我想要的输出是: 约翰 杰克

...但是上面的代码输出 $field_1。不过,我希望输出该字段的实际值。

...请问我如何修改 for 循环代码来实现这一点。 谢谢

将行 $fieldOutput = '$field_' . $a; 替换为 $fieldOutput = ${"field_$a"};。见 PHP documentation for variable variables.

说明: 解决方案: 首先创建所有变量的数组。然后迭代该数组。

<?php
$field_1 = "john";
$field_2 = "";
$field_3 = "jack";

$data=array($field_1,$field_2,$field_3);
for($a = 0; $a < count($data); $a++)
{

    if($data[$a]){
        echo '<br>'.$data[$a];    

    }

}

?>