Php 使用预设将参数传递到函数中
我正在寻找一种方法来获取正在设置的参数的值,无论是传递还是预设。我尝试使用Php 使用预设将参数传递到函数中,php,function,parameters,Php,Function,Parameters,我正在寻找一种方法来获取正在设置的参数的值,无论是传递还是预设。我尝试使用func\u get\u params()。虽然这会返回传入的值,但不会显示值是否为预设值 public function __construct($host = 'null', $user = null, $password = null, $database = null){ var_dump(func_get_args()); die(); $this->mysqli = new mysqli($hos
func\u get\u params()
。虽然这会返回传入的值,但不会显示值是否为预设值
public function __construct($host = 'null', $user = null, $password = null, $database = null){
var_dump(func_get_args());
die();
$this->mysqli = new mysqli($host, $user, $password, $database);
if ($this->mysqli->connect_errno) {
echo("Connection failed: ". $mysqli->connect_error);
exit();
}
}
当没有传入值时,获取空数组输出,而不是null。如果我将null
转换为字符串,也会发生这种情况
除了也返回预设值的
func\u get\u args
之外,还有其他方法吗?非常详细,您可以了解为什么命名参数或更有趣的操作:
<?php
class Foo {
function __construct($host = 'null', $user = null, $password = null, $database = null){
//getParameters
$ref = new ReflectionMethod(__CLASS__,__FUNCTION__);
$args = array();
foreach($ref->getParameters() as $param){
$args[] = $param->getDefaultValue();
}
foreach(func_get_args() as $key => $arg){
$args[$key] = $arg;
}
var_dump($args);
}
}
new Foo();
/*
array(4) {
[0]=>
string(4) "null"
[1]=>
NULL
[2]=>
NULL
[3]=>
NULL
}
*/
new Foo('foo','bar');
/*
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
NULL
[3]=>
NULL
}
*/
谢谢:)希望在下一个版本中这将是一个函数。