0

この 2 つの違いは何ですか。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 に答える