2013-10-05 35 views
-1

中的数组如果我的第一个参数只有一个返回,我得到这个警告:我试图在第二个数组中找到一个匹配,然后做点什么。所以我想匹配变量,在第一个返回到第二个参数中的数组。警告:array_intersect()[function.array-intersect]:参数#1不是

$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

可能'$ rs'是字符串,所以它不是一个数组。 – Alex

+0

如果trim没有在第6行向$ rs抛出一个错误,那么它是一个字符串 –

+0

var_dump($ rs );在array_intersect调用之前,看到它的值? – user4035

回答

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>'; 
     } 
相关问题