2

我只想制作一个类似的功能array_merge ( array $array1 [, array $... ] ) 或简单的功能myfunc($st1, $st2, $st3, $st4, $st5, etc)

function make_my_merge($) {
     ..... operation to be performed ......
}
4

4 回答 4

4

用于func_get_args()访问传递给函数的所有参数(作为数组)。此外,您可以使用func_num_args()来获取传入的所有参数的计数。

function make_my_merge () {
    if ( func_num_args() ) {
        $args = func_get_args();
        echo join( ", ", $args );
    }
}

// Foo, Bar
make_my_merge("Foo", "Bar");

// Foo, Bar, Fizz, Buzz
make_my_merge("Foo", "Bar", "Fizz", "Buzz");

键盘:http ://codepad.org/Dk7MD18I

于 2012-05-29T16:40:26.373 回答
0

使用func_get_args()

function make_my_merge() {
  $args = func_get_args();

  foreach ($args as $arg) {
    echo "Arg: $arg\n";
  }

}

可以看出,您通过func_get_args()函数将所有参数传递给您的函数,该函数返回一个数组,您可以迭代使用each以处理传递的每个参数。

于 2012-05-29T16:41:04.457 回答
0

这应该会有所帮助:PHP 函数变量参数

于 2012-05-29T16:42:54.893 回答
0

你永远不会知道你想要多少个参数......所以你不能在我的观点中定义具有无限参数的精确函数。但我建议在一个函数中传递 2 个参数,一个是数组中的索引或值的数量,另一个是数组本身......它是这样的

<?php
$arr = array('val1','val2','val3',.....);
$count = count($arr);
$result = your_function($count,$arr);
?> 

您的函数看起来像这样,它位于顶部或其他 php 文件或类的某个位置

<?php
function your_function($count,$arr)
{
   //Here you know the number of values you have in array as $count
   //So you can use for loop or others to merge or for other operations
   for($i=0;$i<$count;$i++)
   {
          //Some operation
   }
}
?>
于 2012-05-29T16:48:20.213 回答