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

时间:2014-03-18 16:06:06

标签: php arrays

我有一个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

2 个答案:

答案 0 :(得分:1)

您需要做的只是阅读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

上的使用方括号语法访问数组元素部分

答案 1 :(得分:1)

基本D​​UMP分析101:

省略转储的不相关部分:

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

给你

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