将多个值传递给PHP函数

时间:2014-10-06 14:21:44

标签: php arrays function loops

我的功能如下:

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]  ;
    }
}

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

首先,您在打印时忘记了循环中$之前的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);
}

答案 2 :(得分:0)

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

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