我在尝试将查询结果用作数组时遇到了一些麻烦
首先,我运行一个查询来获取我需要的所有拉链
$this->db->select('zip');
$this->db->from('custom_city');
$this->db->join('city_to_zip', 'custom_city.id = city_to_zip.city_id', 'left');
$this->db->where('city_to_zip.city_id', $_POST['city']);
$zip = $this->db->get();
$data['zips'] = $zip;
$zip_array = $zip->result_array();
然后当我尝试使用它时,查询输出就是这个。
现在我知道它正在做某事,因为它说“阵列”8次,这是查询的正确计数。我只需要知道如何在那里获取邮政编码而不是单词数组。
AND `zip_code` IN (Array, Array, Array, Array, Array, Array, Array, Array) [/quote]
在我的查询中我正在使用...
$this->db->where_in('zip_code', $zip_array);
谢谢,
Jbeasley
答案 0 :(得分:3)
这是因为result_array()
为每一行返回一个关联数组(所以你得到一个数组数组)。要将邮政编码转换为$zip_array
,请替换此行:
$zip_array = $zip->result_array();
与
$zip_array = array();
$result = $zip->result_array();
foreach ($result as $row) {
$zip_array[] = $row['zip'];
}