Php 适用于CI下拉列表的转换数组
我正在使用CodeIgniter方法(db->result\u array())返回以下数组:Php 适用于CI下拉列表的转换数组,php,arrays,codeigniter,Php,Arrays,Codeigniter,我正在使用CodeIgniter方法(db->result\u array())返回以下数组: Array ( [0] => Array ( [id] => 5 [lang_name] => ASM ) [1] => Array ( [id] => 16 [lang_name] => Bash ) [2] => Array (
Array
(
[0] => Array
(
[id] => 5
[lang_name] => ASM
)
[1] => Array
(
[id] => 16
[lang_name] => Bash
)
[2] => Array
(
[id] => 17
[lang_name] => Batch
)
[3] => Array
(
[id] => 3
[lang_name] => C
)
[4] => Array
(
[id] => 11
[lang_name] => C#
)
[5] => Array
(
[id] => 4
[lang_name] => C++
)
)
我需要一个具有这种格式的数组,将其传递给form_dropdown()CI函数:
$atrLangDropDown = array(
'1' => 'CPP',
'2' => 'PHP',
'3' => 'ASM'
);
我做过这样的事情:
public function getAllLangsSelect() {
$this->db->select('*')->from($this->tableName)->order_by($this->tableName.'.lang_name');
$q = $this->db->get();
$data = array();
array_push($data, '- Select Language -');
foreach ($q->result_array() as $row) {
array_push($data, $row['lang_name']);
}
return $data;
}
但它必须保留存储在数据库中的原始ID,因此它不能正常工作
欢迎任何提示或帮助。这是我第一次做这种手术。试试这个:
public function getAllLangsSelect()
{
$query = $this->db
->order_by('lang_name')
->get($this->tableName);
$options[''] = '- Select Language -';
foreach ($query->result() as $row)
{
$options[$row->id] = $row->lang_name;
}
return $options;
}
我刚做完,谢谢你。解决方案是:公共函数getAllLangsSelect(){$this->db->select('*')->from($this->tableName)->order\u by($this->tableName..lang\u name');$q=$this->db->get();$data=array();$tmp=$q->result\u array();for($i=0;$i