[英]php switch statement with multiple expressions
我有6個html選擇框。 每個選擇框包含三個值(最近媒體,大眾媒體,評論媒體),並且我有變量$item->content1
到$item->content6
每個變量返回選擇框。 我在下面通過switch語句創建此代碼,因為我想一次使用switch語句,而不是使用6次。
該代碼有效,但是每次都返回最近的媒體,而不返回流行和評論媒體。 我如何解決此問題,直到我的代碼正確並返回所有情況?
function YPE_bsn_show_diffcontent(&$item_output, $item) {
switch (true) {
case ($item->content1 == 'recent-media' OR $item->content2 == 'recent-media' OR $item->content3 == 'recent-media' OR $item->content4 == 'recent-media' OR $item->content5 == 'recent-media' OR $item->content6 == 'recent-media'):
YPE_Bsn_Content::YPE_bsrecent_media($item_output, $item);
break;
case ($item->content1 == 'popular-media' OR $item->content2 == 'popular-media' OR $item->content3 == 'popular-media' OR $item->content4 == 'popular-media' OR $item->content5 == 'popular-media' OR $item->content6 == 'popular-media'):
YPE_Bsn_Content::YPE_bspopular_media($item_output, $item);
break;
case ($item->content1 == 'comment-media' OR $item->content2 == 'comment-media' OR $item->content3 == 'comment-media' OR $item->content4 == 'comment-media' OR $item->content5 == 'comment-media' OR $item->content6 == 'comment-media'):
YPE_Bsn_Content::YPE_bscomments_media($item_output, $item);
break;
default:
$item_output .= 'You don\'t selected content for first column';
break;
}
}
您不是在切換變量而是在切換常量,那么結果總是相同的
switch (true) {
case
.....
}
切換適當的相關變量
switch ($item->content1 ) {
case 'recent-media':
your code fo recent media
break;
....
case 'popular-media':
your code fo popular media
break;
case 'comment-media':
your code fo comment media
break;
}
基本上,您以錯誤的方式使用swithc,請參閱php doc以進行正確使用
在您的情況下,您需要(而不是切換)
function YPE_bsn_show_diffcontent(&$item_output, $item) {
if ($item->content1 == 'recent-media' OR
$item->content2 == 'recent-media' OR
$item->content3 == 'recent-media' OR
$item->content4 == 'recent-media' OR
$item->content5 == 'recent-media' OR
$item->content6 == 'recent-media') {
YPE_Bsn_Content::YPE_bsrecent_media($item_output, $item);
return;
}
if ($item->content1 == 'popular-media' OR
$item->content2 == 'popular-media' OR
$item->content3 == 'popular-media' OR
$item->content4 == 'popular-media' OR
$item->content5 == 'popular-media' OR
$item->content6 == 'popular-media') {
YPE_Bsn_Content::YPE_bspopular_media($item_output, $item);
return;
}
if ($item->content1 == 'comment-media' OR
$item->content2 == 'comment-media' OR
$item->content3 == 'comment-media' OR
$item->content4 == 'comment-media' OR
$item->content5 == 'comment-media' OR
$item->content6 == 'comment-media') {
YPE_Bsn_Content::YPE_bscomment_media($item_output, $item);
return;
}
$item_output .= 'You don\'t selected content for first column';
return ;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.