php 循环,func_get_arg(0)

php loop, func_get_arg(0)

有人能解释一下这段代码是如何工作的吗

<?php
function append($initial)
{
    $result=func_get_arg(0);
    foreach(func_get_arg()as $key=>value){
        if($key>=1)
        {
            $result .=' '.$value;
        }
    }
    return $result;
    echo append('Alex,'James','Garrett');
?>

为什么我们在 func_get_arg(0) 处有一个 0,这是一个有 0,1,2 的循环,不应该只有 post Alex,James 吗? func_get_arg() as $key => value 的(as)是什么?为数组指定值的名称 ?

这是基本的,但有点乱!

这就是它的工作原理:

<?php
function append($initial)
{
    // Get the first argument - func_get_arg gets any argument of the function
    $result=func_get_arg(0);

    // Get the remaining arguments and concat them in a string
    foreach(func_get_args() as $key=>value) {
        // Ignore the first (0) argument, that is already in the string
        if($key>=1)
        {
            $result .=' '.$value;
        }
    }
// Return it
return $result;
}

// Call the function
echo append('Alex,'James','Garrett');
?>

这个函数将做同样的事情:

echo implode(' ', array('Alex', 'James', 'Garrett'));

在您使用 foreach{} 循环之前。您返回了位置 0 的 'Alex'。

$result=func_get_arg(0);
foreach(){

}
return $result; //It returns Alex

//foreach() loop
foreach(func_get_arg()as $key=>value){ 
/*Its looping and only printing after 
the key gets to 1 and then the loop goes to 2.Eg: $result[$key]=> $value; */
if($key>=1)
{
$result .=' '.$value;
}
}