协会。数组,获取具有特殊ID的元素

时间:2015-07-23 16:52:04

标签: php arrays symfony

我有关联数组alldept。 我现在想要来自数组的'name'元素,例如id '1';

如何访问ID并输出'name'?

ID保存在$result[$i]['abteilung']

非常感谢!

$manager = $this->getDoctrine()
                ->getManager('olddb')
                ->getRepository('ChrisOldUserBundle:BpDepartment');
$dept = $manager->findBy([],['name' => 'ASC']);
$alldept = array();
foreach ($dept as $singledpt){
    $alldept[] = array("id" => $singledpt->getId(), 
                       "name" => $singledpt->getName()
                      );
 }

2 个答案:

答案 0 :(得分:3)

当你自己构建这个数组时,以后来可用的方式构建它似乎是明智的。

那么为什么不像这样构建数组

$manager = $this->getDoctrine()
                ->getManager('olddb')
                ->getRepository('ChrisOldUserBundle:BpDepartment');
$dept = $manager->findBy([],['name' => 'ASC']);
$alldept = array();
foreach ($dept as $singledpt) {
    $alldept[ $singledpt->getId() ] = $singledpt->getName();
}

现在,如果你知道你想要dept = 1的名字,你就可以了

echo $alldept[1];

答案 1 :(得分:1)

我建议将id作为关键字,将name作为值:

$manager = $this->getDoctrine()
                ->getManager('olddb')
                ->getRepository('ChrisOldUserBundle:BpDepartment');
$dept = $manager->findBy([],['name' => 'ASC']);
$alldept = array();
foreach ($dept as $singledpt){
    $alldept[$singledpt->getId()] = $singledpt->getName();
 }
  

注意:我假设getId将是唯一的

然后,要获取name,您只需输入$alldept[$id]

这可能不是一个答案,只是另一种选择。你可以避免循环。