for循环 - 按顺序打印值 - PHP

时间:2016-08-04 08:28:23

标签: php for-loop

我需要打印以下声明。

  

感谢您更新PH_NUMBER,ADDRESS,OFFICE NUMBER和EMAIL。

PH_NUMBER, ADDRESS, OFFICE_NUMBER and EMAIL是变量。

例如,如果变量"OFFICE_NUMBER"的值为空,则句子应如下所示:

  

感谢您更新PH_NUMBER,ADDRESS和EMAIL。

例如,如果变量"EMAIL"的值为空,则句子应如下所示:

  

感谢您更新PH_NUMBER,ADDRESS和OFFICE NUMBER。

$a = "Address";
$b = "Mobile";
$c = "email";

$array = array($a, $b, $c);

$length = count($array);

for ($i = 0; $i < $length; $i++) {
  $total = $array[$i];
}

echo "Thanks for udpating " . $total ;

如何做到这一点? 任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:3)

您不需要使用循环。

<?php
    /* Collect all parameters to the array */
    $variables = [
        'PH_NUMBER',
        'ADDRESS',
        'EMAIL',
        'OFFICE_NUMBER',
    ];
    /* Sorting the array if need */
    /* Pop the element off the end of array */
    $variables = array_filter($variables);
    $count = count($variables);
    $lastVariable = array_pop($variables);

    if($count > 1) {
        printf('Thanks for updating your %s and %s', implode(', ', $variables), $lastVariable);
    }elseif($count === 1){
        printf('Thanks for updating your %s', $lastVariable);
    }else{
        print 'Nothing for update';
    }
?>

更新:为了捕获仅包含1个变量和空数组的情况(无需更新),只需进行小改进。