使用CDBCriteria动态生成递归的数据数组

时间:2013-03-08 10:14:36

标签: multidimensional-array yii

请问如何以这种格式动态生成数据数组。我想要实现的是将此数据与我的下拉列表一起用作选项组数据

$data=array(
    'one'=>array(
        '1'=>'Satu',
        '2'=>'Dua',
        '3'=>'Tiga',
     ),
    'two'=>array(
        '1'=>'Sidji',
        '2'=>'Loro',
        '3'=>'Telu',
    ),
    'three'=>array(
        '1'=>'Hiji',
        '2'=>'Dua',
        '3'=>'Tilu',
     ),
);

2 个答案:

答案 0 :(得分:2)

您可以使用CHtml::listData()groupField属性生成类似的数组。

$data=CHtml::listData($models,'valueAttribute','labelAttribute','groupAttribute');

其中$models是模型的数组。您可以直接将此$data数组传递给CHtml::dropDownList(),yii会自动为您生成optgroup

答案 1 :(得分:1)

您可以使用:

CMap::mergeArray(array($first array),$second array,....nth $array);