警告:array_intersect()[function.array-intersect]:参数#1不是数组

时间:2013-10-05 22:56:38

标签: php mysql

如果我的第一个参数只有一个返回,我会收到警告:我正试图在第二个数组中找到一个匹配然后做一些事情。所以我想匹配变量,在第一个返回第二个参数中的数组。

$this->view->user = $this->user;

//  START  //
$user_id = $this->view->user->user_id;

$region_id = $this->db->fetchAll("SELECT region_id FROM regions WHERE manager_id='$user_id' ORDER BY region_id ASC");   
$ris = $region_id[0]['region_id'];
$rs = trim($ris, '');

echo '<pre><strong>ASSIGNED REGIONS:</strong><br />';
    var_dump($rs);
echo '<br /><br /></pre>';



    $this->view->headScript()->appendFile("/js/jquery-ui-1.8.5.custom.min.js");

    $this->view->sidebar = $this->view->render("sidebars/alerts.phtml");

    //get news
    $alerts = $this->user->getAlerts($_GET['sort'], $_GET['search']);
    $collection = array();

    foreach($alerts AS $item){
            $ars = $item["assigned_regionals"];
                echo '<pre>ASSIGNED REGIONALS:<br />';
                    var_dump($ars);
                echo '</pre>';  



        echo '<strong>ASSIGNED REGION:</strong><br />'.$ars.'<br />';
            $ar = trim($ars, '|');
            $a = explode('|', $ar);
            var_dump($a);


            $i = array_intersect($rs, $a);
            if (!empty($i)) {
                $collection[] = new Stax_Alert($item);

                echo '<br /><br /><pre><strong>ALERT REGIONS:</strong><br />';
                    var_dump($a);
                echo '</pre>';
            }

    }

1 个答案:

答案 0 :(得分:0)

错误信息足够清楚:你的第一个参数($ rs)(是一个字符串。这肯定是代码正在做的事情。

你可能想要这样的东西:

        if (in_array($rs, $a)) {
            $collection[] = new Stax_Alert($item);

            echo '<br /><br /><pre><strong>ALERT REGIONS:</strong><br />';
                var_dump($a);
            echo '</pre>';
        }