相关疑难解决方法(0)

PHP by-reference参数和默认null

假设我们有一个类似的方法签名

public static function explodeDn($dn, array &$keys = null, array &$vals = null,
    $caseFold = self::ATTR_CASEFOLD_NONE)
Run Code Online (Sandbox Code Playgroud)

我们可以通过以下方式省略所有参数来轻松调用该方法$dn:

$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com');
Run Code Online (Sandbox Code Playgroud)

我们也可以用3个参数调用该方法:

$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, $v);
Run Code Online (Sandbox Code Playgroud)

并有4个参数:

$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, $v, 
    Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER);
Run Code Online (Sandbox Code Playgroud)

但是为什么不可能使用以下参数组合调用该方法,例如:

$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, null, 
    Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER);
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', null, $v);
Run Code Online (Sandbox Code Playgroud)

传递null给方法和依赖默认值之间有什么区别?这个约束是否写在手册中?它可以被规避吗?

php null pass-by-reference

13
推荐指数
3
解决办法
1万
查看次数

标签 统计

null ×1

pass-by-reference ×1

php ×1