【问题标题】:Passing multiple values to a function PHP将多个值传递给函数 PHP
【发布时间】:2014-10-06 14:21:44
【问题描述】:

我有一个函数如下所示:

function foo($value) 
{
    echo "print: '".$value."' "
}

我想将数组作为$value 传递,因为我需要打印可变数量的值。我怎样才能通过它们?这是我所做的,但它不起作用:

function foo($value)
{
    $no = sizeof($value);
    for($i=0;$i<$no;$i++)
    {
        //The if statement here prevents printing a comma at the end
        if($i != ($no-1) ) 

        echo $value[i].", ";

        else echo $value[i]  ;
    }
}

【问题讨论】:

  • 不要使用if 语句,只需使用implode 来加入您的数组:implode(", ", $value);

标签: php arrays function loops


【解决方案1】:

简单。不要使用循环。您所做的就是将数组作为逗号分隔的列表吐出,所以:

function foo ($array_of_values) {
   echo implode(',', $array_of_values);
}

【讨论】:

    【解决方案2】:

    首先,您在打印时忘记了循环中i 之前的$

    function foo($value)
    {
    $no = sizeof($value);
        for($i=0;$i<$no;$i++)
        {
            if($i != ($no-1) )
            echo $value[$i].", ";
    
            else echo $value[$i]  ;
        }
    }
    

    其次,更好的方法是使用implode

    function foo($values)
    {
        echo implode(',', $values);
    }
    

    【讨论】:

      【解决方案3】:

      最好使用foreach并检查$value是否is set 或者如果您更喜欢您的变体,请检查 $no

      $no = sizeof($value);
      if($no === 0) {
        echo "parameter is empty";
        return;
      }
      

      【讨论】:

        猜你喜欢
        • 2021-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-08
        • 1970-01-01
        • 2018-05-05
        相关资源
        最近更新 更多