質問: (追記) 上記だとうまく回らず、以下の構文を試しています。 スマホとそれ以外で最初分岐させたあと、再度分岐させる以下の構文はおかしいとこありますでしょうか? うまく動かず困ってます... ``` foreach(){ if (スマホの時) { if(条件1){ } elseif (条件2){ } else break; } else { if(条件3){ } elseif (条件4) { } else break; } } ```
回答: 以下の記事に書いてあるようなやり方ではどうでしょうか? ユーザーエージェントでスマホとPCを判別し、処理を変化させるPHPネタ ``` function ua_smt (){ //ユーザーエージェントを取得 $ua = $_SERVER['HTTP_USER_AGENT']; //スマホと判定する文字リスト $ua_list = array('iPhone','iPad','iPod','Android'); foreach ($ua_list as $ua_smt) { //ユーザーエージェントに文字リストの単語を含む場合はTRUE、それ以外はFALSE if (strpos($ua, $ua_smt) !== false) { return true; } } return false; } $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { if (ua_smt() == true) { if($value == 1){ // 条件1 } else if ($value == 2){ // 条件2 } else { break; } } else { if($value == 3){ // 条件3 } elseif ($value == 4) { // 条件4 } else { break; } } } ```