PHP:递归地将数组值设置为相等的键(Codeigniter)

时间:2011-02-07 21:56:08

标签: php arrays codeigniter

我正在接管一个大项目,并且为Codeigniter中的form_dropdown()和form_multiselect()使用选项选择列表定义了许多嵌套数组。但是,这些数组只是设置了值而不是相应的键。

以下是一个例子:

$lists['roomItems'] = array('Private telephone','Television cable/satellite','Personal furniture/decorations','Computer','Radio');
$lists['busRoute'] = array('Yes','No');
$lists['transport'] = array('Medical appointments','Dental appointments','Dialysis center','Wound care center','Religious services',
                                'Shopping services');

我想做的是递归遍历$ lists并使密钥等价于值。对于单个数组,我尝试使用foreach($ lists ['roomItems']作为$ key => value)并尝试将键设置为等于该值,但它没有采用。

有人可以帮忙吗?我在$ lists数组中有大约30个项目以及其他我将重新使用此代码的项目,所以简单地手动更改指针并不是我想做的事情。谢谢!

1 个答案:

答案 0 :(得分:3)

嗯嗯:怎么样:

$newList = array();
foreach($lists as $k=>$v) $newList[$k] = array_combine($v,$v);

应该做的伎俩