每个人都试图传递以下数组:
$cars=array("Volvo","BMW","Toyota");
到下面的函数
function foo(){
$numargs = func_num_args();
$args = func_get_args();
print_r($args);
}
我想让数组中的每个元素在$args
中被分隔同时我不想这样写函数和参数
foo($cars[0],$cars[1]);
<?php
for ($i=0; $i<sizeof($array); $i++) {
$c = $array[$i];
foo($c);
}
?>
我完全确定你在问什么,但这里有一个简单的解决方案:将foo更改为:
function foo(){
$args = func_get_args()[0];
}
$args将包含你传递给foo()的元素数组,如果你像这样调用它:
foo($cars);
如果你可能传递的不仅仅是数组参数,你需要循环遍历参数,然后可以对每个参数做一些事情:
foo(){
$args = func_get_args();
while(!empty($args))
{
//do something with each argument. ie. print out it's value
print_r(array_shift($args));
}
}
用同样的方法再次调用:foo($cars);
你想要做的似乎有点奇怪所以我认为你可以把foo方法写成:
foo($array){
foreach($array as $array_item)
{
// do something with each item ie. print out it's value
print_r($array_item);
}
}