数组问题,以及where子句

时间:2009-07-20 01:01:38

标签: php codeigniter

我在尝试将查询结果用作数组时遇到了一些麻烦

首先,我运行一个查询来获取我需要的所有拉链

   $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

1 个答案:

答案 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'];
}

Documentation on result_array()