0

这两者有什么不同,为什么当我使用 func_get_args foreach 时只回显最后一个数字“7”

function add(){
    $total=func_get_args();
    foreach($total as $result);
    echo $result;
    }

add(1, 5 , 6, 7);

//////////////////////////////////////////////////////////////////

$array=array(1, 5, 6, 7);
foreach($array as $result){
    echo $result;
    }
4

2 回答 2

3

删除分号

foreach($total as $result);

它应该是

foreach($total as $result)
于 2012-12-16T12:46:46.693 回答
3

首先,您对 foreach 循环什么都不做

foreach ($total as $result) /* nothing */ ;

发生的事情是最后一个$result被留下并由下一行回显。

您实际上可以像这样重写 add 函数:

function add(){
    return array_sum(func_get_args());
}

echo add(1, 5 , 6, 7);

哪个更酷恕我直言;)(但不检查字符串值等)

于 2012-12-16T12:49:40.973 回答