php - Symfony Doctrine 数组结果的 Flatten Array Result

标签 php arrays symfony doctrine-orm

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

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
)

My solution:

$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');

Since PHP 5.5.0

输出:

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

关于php - Symfony Doctrine 数组结果的 Flatten Array Result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39660646/

相关文章:

php - 10 月 CMS 博客插件 |如何限制特定页面上显示的博客文章数量?

php - 如何将产品数量存储在数组中

arrays - 如何确定 C 中数组的大小?

c# - 初始化数组中的几个特定值,将 rest 设置为默认值

symfony - 我的转换器不工作(从模型数据到表单数据)

symfony - 将参数从 .env.dist 复制到 .env

javascript - 自定义产品照片

javascript - 我收到 NS_BASE_STREAM_CLOSED 错误时缺少什么?

c - 当将 char 数组用作字节数组并分配给 char 指针时,如何获取 char 数组长度?

mysql - Doctrine orWhere 用于多列