我只想制作一个类似的功能array_merge ( array $array1 [, array $... ] )
或简单的功能myfunc($st1, $st2, $st3, $st4, $st5, etc)
function make_my_merge($) {
..... operation to be performed ......
}
用于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");
function make_my_merge() {
$args = func_get_args();
foreach ($args as $arg) {
echo "Arg: $arg\n";
}
}
可以看出,您通过func_get_args()
函数将所有参数传递给您的函数,该函数返回一个数组,您可以迭代使用each
以处理传递的每个参数。
这应该会有所帮助:PHP 函数变量参数
你永远不会知道你想要多少个参数......所以你不能在我的观点中定义具有无限参数的精确函数。但我建议在一个函数中传递 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
}
}
?>