yii 1 中 foreach 中的数组

arrays in foreach in yii 1

我的控制器中有以下代码:

 $data= Yii::app()->db->createCommand()
                    ->select('region_id')
                    ->from('user_rights')
                    ->where('user_group_id='.$findRegion['user_group_id'])
                    ->queryAll();

 foreach($data as $key=>$value){
            $array_o[$key] = $value;
        }

var_dump($array_o); returns 以下值:

array(2) { [0]=> array(1) { ["region_id"]=> string(4) "1703" } [1]=> array(1) { ["region_id"]=> string(4) "1706" } }

但是,我需要得到类似于以下值:

array(2) { [0]=> string(4) "1703" [1]=> string(4) "1706" }.

我该怎么做?

从一开始就设置正确的值:

foreach ($data as $key => $value){
    $array_o[$key] = $value['region_id'];
}

试着做成这样

 foreach($data as $key=>$value){
        $array_o[$key] = $value['region_id'];
    }

在您的 foreach 中执行此操作:

 $array_o[$key] = $value['region_id'];

希望对您有所帮助。

可以使用queryColumn()方法

所以设置语句就够了

$data= Yii::app()->db->createCommand()
                ->select('region_id')
                ->from('user_rights')
                ->where('user_group_id='.$findRegion['user_group_id'])
                ->queryColumn();

并删除您的 foreach 语句。