我想在传递NULL时将所有参数转换为空字符串。类似于这样,但参数的原始值在我的代码中没有改变。
function loopThroughArgs($a, $b) {
$args = func_get_args();
foreach ($args as &$arg) {
$arg = $arg === null ? "" : $arg;
}
var_dump($a); // should output an empty string
var_dump($b); // should output an empty string
}
$a = null;
$b = null;
loopThroughArgs($a, $b);
1条答案
按热度按时间a0x5cqrl1#
由于
func_get_args()
返回这些参数的副本,因此它不会自动更改函数参数变量。可以使用
get_defined_vars()
重新赋值。循环所有声明的变量,并从$args
中为每个变量赋值。如果变量名与args
不同,则该名称将出现在if
条件中。Online Demo