2013-10-05 3 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' является строкой. Таким образом, это trully не массив. – Alex

+0

Если обрезка не выдает ошибку в $ rs в строке 6, то это строка. –

+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>'; 
     } 
Смежные вопросы