如果foreach循环中的条件为false,我想显示错误消息。这是我的代码
foreach($items as $item){
if($item['userid'] == logged_in()) {
echo $item['title'];
} else {
echo 'You do not have permission to view items';
}
}
// other code here needs to continue after loop
因此,使用上面的代码,错误消息会显示循环运行的时间。因此,如果有5个项目而不是消息显示5次。虽然如果条件为假,我只想显示一次。我试过break;
和continue;
,但都停止执行进一步的PHP代码。
foreach($items as $item){
if($item['userid'] == logged_in()) {
echo $item['title'];
} else {
echo 'You do not have permission to view items';
break; // or continue
}
}
// other code here needs to continue after loop
那么我该怎么做才能显示这条消息,还会执行另外的代码?
答案 0 :(得分:4)
使用此 -
$once=false;
foreach($items as $item){
if($item['userid'] == logged_in()) {
echo $item['title'];
} else {
$once=true;
}
}
if($once)
echo 'You do not have permission to view items';
答案 1 :(得分:3)
您不想中断或继续,因为您想继续测试循环中的每个项目。而是标记错误并继续循环:
$permissionError = 0;
foreach($items as $item){
if($item['userid'] == logged_in()) {
echo $item['title'];
} else {
$permissionError = 1;
}
}
if($permissionError) {
echo 'You do not have permission to view all items';
}