如何在yii2中创建名称值对数组

问题描述 投票:1回答:2

我试图用以下格式在Array创建一个yii2

[
  ['id'=>'2', 'name'=>'ABC'],
  ['id'=>'3', 'name'=>'DEF']
]

到目前为止,我已经尝试使用ArrayHelper类,但如果我使用它map比从数组中删除key部分,我需要以这种格式创建数组

$data = User::find()
        ->where(['id' => $id])
        ->orderBy('id DESC')
        ->all();

如你所知,在这段代码后我得到ActiveRecord格式的数据,所以我需要将它们转换为idname数组,我不需要任何其他数据。

我试过这样做

 $data2 = ArrayHelper::map($data, 'id', 'name');

但是以下列格式返回数据

[
  ['2'=>'ABC'],
  ['3'=>'DEF']
]

我也尝试过这个

$data = MainCategory::find()->select('id,name')
 ->where(['id' => $id])
  ->orderBy('id DESC') 
 ->asArray()->all();

但它以下列格式返回数组

[
  '0' =>
      [
       'id'=>'2', 
       'name'=>'ABC'
      ],
  '1' =>
      [
       'id'=>'3', 
       'name'=>'DEF'
      ]
]

我怎样才能在qazxsw poi中实现qazxsw poi和qazxsw poi格式?

arrays yii2 yii2-advanced-app
2个回答
2
投票

您可以像这样获取数据:

key

0
投票

要创建普通的KEY => VALUE数组,请使用value方法:

yii2

首选列[name]将作为VALUE返回。

© www.soinside.com 2019 - 2024. All rights reserved.