【问题标题】:How to pass a string with a few comma separated values as function parameters如何将带有几个逗号分隔值的字符串作为函数参数传递
【发布时间】:2011-04-14 21:08:37
【问题描述】:

例如:

$str = '1, 2, 4, 13';

我希望效果是这样的:

func(1, 2, 4, 13)

【问题讨论】:

    标签: php function-parameter


    【解决方案1】:
    $params = explode(', ', $str);
    call_user_func_array("func", $params);
    

    【讨论】:

    • 请注意,这仅在参数明确地用逗号后跟空格分隔时才有效。您可能需要进行一些后处理以确保它们是正确的数据类型。
    • @theazureshadow 非常正确。我只是打算按照书面回答这个例子。但是是的,如果它不同,你可能想单独用逗号分割,然后 trim() 元素。类似的东西。
    • 是的,我想。我只是为了OP的缘故提到了这一点。 :)
    【解决方案2】:
    $str = '1, 2, 4, 13';
    function func($one, $two, $three, $four) {
        var_dump(func_get_args());
    }
    call_user_func_array('func', explode(', ', $str));
    

    请记住,您可以将尽可能多的参数传递给函数并使用func_get_args() 访问它们,它们不必在方法签名中定义。

    【讨论】:

      猜你喜欢
      • 2019-08-19
      • 2016-10-19
      • 2019-08-29
      • 2014-10-12
      • 2016-12-22
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多