使用数组参数调用foreach in函数


PHP: foreach in function with array parameter call

我有这个代码,它工作:

<html>
    <head>
        <title>Exercitii</title>
    </head>
    </head>
    <body> 
        <?php 
            function no_name($paramOne) { 
                $param = array("mihai", "jon", "michael");
                $param[] = $paramOne; 
                foreach($param as $value) { 
                    echo($value . " sunt cel mai bun " . "<br/>"); 
                } 
            } 
            $string = "dan";
            no_name($string);
        ?> 
    </body> 
</html>
输出:

mihai sunt cel mai bun
jon sunt cel mai bun
michael sunt cel mai bun
dan sunt cel mai bun 

但是我如何添加更多的名字,如:"costel","mihaela","george"到一个数组和调用函数与数组参数进一步更新名称?

如果我理解正确,你试图传递一个数组的功能,而不是一个字符串?如果是这样,您可以执行数组合并,而不是追加到$param数组。

function no_name(array $paramOne) { 
    $param = array("mihai", "jon", "michael");
    $param = array_merge($param, $paramOne); 
    foreach($param as $value) { 
        echo($value . " sunt cel mai bun " . "<br/>"); 
    } 
} 
no_name(array("dan", "costel", "mihaela", "george"));

我将把整个数组传递给函数,而不硬编码其中的任何内容。

但是如果你想坚持你的方法,使用func_get_args():

function please_call_me_everything_but_no_name(){
  static $defaults = ['some', 'names'];
  foreach(array_merge($defaults, func_get_args()) as $value){
    // do your stuff
  }
}

你称之为:

please_call_me_everything_but_no_name('other', 'words');