沃梦达 / 编程问答 / php问题 / 正文

Symfony原理数组结果的展平数组结果

Flatten Array Result of Symfony Doctrine Array Result(Symfony原理数组结果的展平数组结果)

本文介绍了Symfony原理数组结果的展平数组结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用存储库,我得到的数组结果(每个数组都是一个实体对象)如下所示:

array(
  0 => object of type entity,
  1 => another object of type entity,
  2 => another object of type entity,
)

每个对象都有一些属性,如id和name等。 但是我想要的是只用每个对象的id展平整个数组。

我想要的是这样(仅使用ID展平数组):

Array
(
    [0] => 1
    [1] => 6
    [2] => 23
)

我的解决方案:

$ids = array_map($transform = function($entity) {
    if ($entity instanceof Entity) {
       return $entity->getId();
    }
 }, $myGreatDbResult);

我的解决方案正在工作,但是否有更好的方法来获得此结果?

推荐答案

获取标识符数组[0 => ['id' => 1], 1 => ['id' => 6], 2 => ['id' => 26] ...]后,只需使用array_column函数从输入数组中的单个列获取值:

$ids = array_column($result, 'id');

自PHP 5.5.0起

输出:

Array
(
    [0] => 1
    [1] => 6
    [2] => 23
    ...
)

这篇关于Symfony原理数组结果的展平数组结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Symfony原理数组结果的展平数组结果

基础教程推荐