0

在 codeigniter 中,在我的控制器文件中,我从模型中获取数据。为了验证结果,我使用了 foreach 循环,没有问题。但不是使用 foreach 我想使用 in_array() 来控制变量是否在数据库结果数组中。这是代码:

function _remap($method,$params = array()){ 

//in construct, I use $this->model
if (isset($params[0])) {

    $this->db->distinct('*****');
    $this->db->from('*****');
    $this->db->where('****',****);

    $query = $this->db->get();

    if (in_array($params[0],$query->results())) {
        echo "in_array works";
    }
}

但没有呼应任何东西。我该怎么做?谢谢。

4

3 回答 3

2

根据手册,您可以使用result_array(). 否则你会取回一个对象。当然,您不能in_array用于对象。

另外根据手册,您可以将代码更改为

if (in_array($params[0], $query->first_row('array')) {
  // ...
于 2012-06-23T10:57:55.203 回答
1

in_array仅用于检查值列表中的值,例如
array("Mac", "NT", "Irix", "Linux");

in_array 不适用于您的情况,因为它返回对象数组。

于 2012-06-23T11:00:07.887 回答
0

我建议编写一个辅助方法,它可以完成您想要的工作并返回 True 或 False。可以在此处找到有关如何操作的信息

于 2012-06-23T16:16:36.880 回答