首页 > 解决方案 > php 获取数组值作为 ldap 的新变量

问题描述

假设我有一个这样的数组:

array ([0] => array([0]=>dog [1]=>cat))

我怎样才能只得到“狗”和“猫”来将它们存储在变量中?我想用它们做进一步的搜索。好吧,我找到一个具有这些值的数组动物,取每个值来找到描述狗和猫种族的数组。

我的尝试失败了:

echo '<pre>';
foreach($result as $animals){

for($i=0;i<$animals;i++){
$find = animals[i];
$filter = "(objectClass=*)";
$show = array("race","subrace");
$animalSearch = ldap_search($ds, $find, $filter, $show) or die "...";
$animalInfos = ldap_get_entries($ds,$animalSearch) or die"shit";
print_r($animalInfos);
}

标签: phparraysvariablesldap

解决方案


正如滑铁卢马特所说,访问多阵列是关键,我认为我假装他的建议是错误的。最后我得到了解决方案:

$filter = "(description=just animals)";
$attr = array("name");
$search = ldap_search($ds, $dn, $filter, $attr) or die("not successfull");

$info = ldap_get_entries($ds, $search) or die ("no entries");

echo '<pre>';
foreach($info as $animals => $values){

          foreach($values as $newDn) {
              for ($i = 0; $i < count($newDn); $i++) {
                  echo $newDn[$i];
                  $RaceFilter = "(objectClass=*)";
                  $justthese = array("name", "color");
                  $raceSearch = ldap_search($ds, $newDn[$i], $RaceFilter, $justthese) or die("can't search");
                  $race = ldap_get_entries($ds, $raceSearch) or die ("no entries");

                  print_r($race);

              }
          }
    }

推荐阅读