在我的数据库中,我存储了电子邮件地址。在foreach循环中,如何跳过具有@sample.com.ru
的所有电子邮件地址?
$sql = "SELECT * FROM myMovieCustomers";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();
foreach ($result as $row) {
//skip if $row['email'] contains @sample.com.ru{
//do someting with these
//}
}
答案 0 :(得分:3)
由于几个原因,在数据库级别进行过滤效率更高
正如评论和其他答案中所指出的,您可以使用LIKE
运算符
$sql = "SELECT * FROM myMovieCustomers WHERE email NOT LIKE '%@sample.com.ru'";
答案 1 :(得分:1)
你可以使用php函数strstr()完成你想要的工作,如下所示:
$all = array(
'name' => array('Thanga','Kima','Zara'),
'email'=> array('thanga@gmail.com','kima@gmail.com','zara@sample.com.ru')
);
echo '<pre>';
print_r($all);
foreach($all as $key=>$val):
foreach ($val as $k=>$v):
if(strstr($v,'@')=='@sample.com.ru'){
}else{
echo $v;
}
endforeach;
endforeach;
答案 2 :(得分:-1)
只需更改第一行......
$sql = "SELECT * FROM myMovieCustomers WHERE email NOT LIKE'%@sample.com.ru'";