在PHP中读取数组值并分配给单个字符串


Reading array values in PHP and assigning to individual string

我有一个PHP数组,它给出了这个结果:

Array
(
  [count] => 1
  [0] => Array
  (
    [sn] => Array
    (
      [count] => 1
      [0] => Smith
    )
    [0] => sn
    [givenname] => Array
    (
      [count] => 1
      [0] => John
    )
    [1] => givenname
    [mail] => Array
    (
      [count] => 1
      [0] => john.smith@mydomain.com
    )
    [2] => mail
    [count] => 3
    [dn] => CN=John Smith,OU=IT Admin,DC=mylocaldomain,DC=local
  )
)

我如何去提取电子邮件地址从这个数组结果到一个单一的字符串?我需要能够引用电子邮件地址,但找不到一种方法来提取该信息。

LDAP代码的主要部分如下:
$dn = “OU=IT Admin,DC=mylocaldomain,DC=local”;
$ds = $ldapconnectionstring;
$person = “johnsmith”;
$filter="(|(sn=$person*)(samaccountname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");
$sr=ldap_search($ds, $dn, $filter, $justthese);
$info = ldap_get_entries($ds, $sr);
echo '<pre>'; print_r($info); echo '<pre/>';

我已经在谷歌上搜索过了,阅读了关于数组的PHP文档,并在这里阅读了各种类似的帖子,但似乎没有什么适合我。

我需要以:

结尾
 echo $email;

和返回:

 john.smith@mydomain.com

DUMP基本分析101:

省略转储中不相关的部分:

 Array                                            <-- $array
[0] => Array                                      <-- [0]
        [mail] => Array                           <-- ['mail']
                [0] => john.smith@mydomain.com    <-- [0]

给你

$array[0]['mail'][0];

你所需要做的就是阅读print_r()显示给你的内容。

(Array) [0](Array) > [mail](Array) > [0](string) => john.smith@mydomain.com
$info = ldap_get_entries($ds, $sr);
$email = $info[0]['mail'][0];
echo $email;

参见使用方括号语法访问数组元素一节http://docs.php.net/manual/en/language.types.array.php