PHP:foreach in function with array parameter call

时间:2014-07-24 09:04:08

标签: php arrays

我有这段代码并且有效:

<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”以及使用数组参数调用函数以进一步更新名称?

2 个答案:

答案 0 :(得分:2)

如果我理解正确,你是否试图将数组传递给函数而不是字符串?如果是这样,您可以进行数组合并,而不是附加到$ 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"));

答案 1 :(得分:0)

我只是将整个数组传递给函数,而不用硬编码。

但是如果你想坚持你的方法,请使用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');