a =“$ b”和a =“value”之间有什么区别,其中$ b =“value”?

时间:2012-11-08 16:56:02

标签: php ldap variable-assignment

我正在用PHP进行一些LDAP开发,并且已经在PHP中遇到了一些可能是新手的值。

我的问题特定于LDAP_MODIFY,但可能是一般问题。我正在尝试更新属性,以下属性为我提供了一个未找到属性的错误:

$email = 'Whitegon024@thedomain.org';
$attributes   = array( "userPrincipleName" => "$email"); 

但以下是成功的:

$attributes = array( "userPrincipalName" => 'Whitegon024@thedomain.org') ; 

如果我做了print_r($attributes);,我得到:

Array
(
    [userPrincipleName] => Whitegon024@thedomain.org
)

有人有线索吗?我确信这是非常简单的事情。

3 个答案:

答案 0 :(得分:5)

在第一次尝试时,你拼错了校长作为原则...它与你如何分配你的变量无关。

澄清 - attribute not found并不意味着它看到索引userPrincipalName的空值 - LDAP服务器说索引userPrincipleName本身不存在作为a的属性校长的LDAP记录。

答案 1 :(得分:0)

PHP正在解析变量的双引号字符串。如果您不想进行解析,请使用单引号字符串。此外,即使您使用的是双引号字符串,也请使用{$var}代替$var。因此,您还可以解析数组{$someArray['someIndex']}

答案 2 :(得分:0)

$attributes = array( "userPrincipleName" => "$email");更改为$attributes = array( "userPrincipleName" => $email);