Php writing a function with unknown parameters?

后端 未结 4 1680
终归单人心
终归单人心 2020-12-20 17:07

How would I go about writing a function in php with an unknown number of parameters, for example

function echoData (parameter1, parameter2,) {
    //do somet         


        
相关标签:
4条回答
  • 2020-12-20 17:30

    You can also use an array:

    <?php    
    function example($args = array())
    {
        if ( isset ( $args["arg1"] ) )
            echo "Arg1!";
    }
    
    example(array("arg1"=>"val", "arg2"=>"val"));
    
    0 讨论(0)
  • 2020-12-20 17:31

    func_get_args()

    function echoData(){
        $args = func_get_args();
    }
    

    Be aware that while you can do it, you shouldn't define any arguments in the function declaration if you are going to use func_get_args() - simply because it gets very confusing if/when any of the defined arguments are omitted

    Similar functions about arguments

    • func_get_arg()
    • func_get_args()
    • func_num_args()
    0 讨论(0)
  • 2020-12-20 17:43

    use func_get_args() to retrieve an array of all parameters like that:

    $args = func_get_args();
    

    You can then use the array or iterate over it, whatever suits your use-case best.

    0 讨论(0)
  • 2020-12-20 17:48

    Just for those who found this thread on Google.

    In PHP 5.6 and above you can use ... to specify the unknown number of parameters:

    function sum(...$numbers) {
        $acc = 0;
        foreach ($numbers as $n) {
            $acc += $n;
        }
        return $acc;
    }
    
    echo sum(1, 2, 3, 4); // 10
    

    $numbers is an array of arguments.

    0 讨论(0)
提交回复
热议问题