大家好,我在一个类中有一个函数,它将打印此函数的所有变量传递
班级代码 :
<?php
class MyPrintClass {
public function printVaraible() {
var_dump(func_get_args())
}
}
$printVar = new MyPrintClass;
?>
如果我使用像下面它的正确工作和打印所有值通过。
$print->printVaraible('value1','Value2',20);
我在cmd以上获得的输出
array (size=1)
0 => string 'value1' (length=6)
1 => string 'value2' (length=6)
2 => string 'value3' (length=6)
如果我像吹一样显示为单个数组..我想将值分开..它怎么可能?
function getVal(){
global $printVar;
$print->printVaraible(func_get_args());
}
我需要传递如下值
getVal('value1','Value2',20);
我需要输出为
array (size=1)
0 => string 'value1' (length=6)
1 => string 'value2' (length=6)
2 => string 'value3' (length=6)
目前我得到NULL作为输出
根据deceze给出的答案更新了问题**我的代码也做了些许更改**类代码:
<?php
class MyPrintClass {
public function printVaraible($tag,$value) {
echo $tag.' == '.$value;
var_dump(func_get_args());
}
}
$printVar = new MyPrintClass;
?>
将类转换为函数
<?php
function getVal($tag,$value) {
global $printVar;
call_user_func_array([$printVar, 'printVariable'], $tag,$value,func_get_args());
}
?>
如果我尝试按以下方式使用它,则会出现错误
<?php getVal('first','second','third,'fourth'); ?>
Warning: call_user_func_array() expects exactly 2 parameters, 4 given
call_user_func_array([$print, 'printVariable'], func_get_args());
这会从数组中调用带有单独参数的函数。但我会质疑这样做的用处,因为func_get_args
无论如何您最终都会得到一个数组。为什么不首先传递数组呢?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句