如果我的第一个参数只有一个返回,我会收到警告:我正试图在第二个数组中找到一个匹配然后做一些事情。所以我想匹配变量,在第一个返回第二个参数中的数组。
$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>';
}
}
答案 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>';
}