Php 关联数组,获取具有特殊id的元素

Php 关联数组,获取具有特殊id的元素,php,arrays,symfony,Php,Arrays,Symfony,我有助理数组。 现在,我想要数组中id为“1”的“name”元素 如何访问id并输出“名称” id保存在$result[$i]['abteilung'] 多谢各位 $manager = $this->getDoctrine() ->getManager('olddb') ->getRepository('ChrisOldUserBundle:BpDepartment'); $dept = $manager->

我有助理数组。 现在,我想要数组中id为“1”的“name”元素

如何访问id并输出“名称”

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()
                      );
 }

当您自己构建此阵列时,以稍后可用的方式构建它似乎是明智的

那么为什么不这样构建阵列呢

$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];

当您自己构建此阵列时,以稍后可用的方式构建它似乎是明智的

那么为什么不这样构建阵列呢

$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];

我建议将id保留为键,名称保留为值:

$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是唯一的

然后,要获取名称,只需键入$alldept[$id]


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

我建议将id保留为键,名称保留为值:

$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是唯一的

然后,要获取名称,只需键入$alldept[$id]


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

您太快了!:你太快了DI将与你分享一个投票,因为你认为GETId需要独一无二,我只是假设它是这样的。“RigssFoule也这么做,你应得的是你的快速反应。OP在8分钟内得到了完美的帮助。我将与你分享一个投票,因为你认为GETId需要独一无二,我只是假设它是这样。“RigssFoule也这么做,你的快速反应是你应得的。OP在8分钟内得到了完美的帮助。