2017-02-22 6 views
-3
<?php switch (true) : 
    case $_GET['change']: 
     echo 'hello'; 
    break; 
    default: 
     echo 'bye'; 
    break; ?> 

。 私はこのコードをコメントすればうまく動作するので、忘れてしまったのは何ですか?

+2

http://php.net/manual/en/control-structures.switchを参照してください。PHP – jitendrapurohit

+0

$ _GET ['change']を大文字にすることはできません – Naincy

+0

は@jitendrapurohitと一致します – Naincy

答えて

2

から

<?php 
switch ($_GET['change']) { 
case [YOURVALUEHERE]: 
    echo 'hello'; 
break; 
default: 
    echo 'bye'; 
break; 
} 
?> 

例正しいコードは次のとおりです。

<?php 
    switch (true) : 
     case $_GET['change']: 
      echo 'hello'; 
      break; 
     default: 
      echo 'bye'; 
      break; 
    endswitch; 
?> 

あなたがendswitchを逃すので、それがあります。

Warning

Any output (including whitespace) between a switch statement and the first case will result in a syntax error. For example, this is invalid:

+0

もう1つ質問がありますが、これは正しいURLですか?http://localhost/profile.php?change ?? –

+0

これは有効なURLですが、正しいかどうかわからない場合は、ページ/profile.phpが存在する場合は正しいURL、?changeは$ _GETパラメータです。あなたはそのように使うことができますか?change = yourValue – Eimsas

1

これは、次のようにする必要があります:PHP.net

<?php 
switch ($i) { 
    case 0: 
     echo "i equals 0"; 
     break; 
    case 1: 
     echo "i equals 1"; 
     break; 
    case 2: 
     echo "i equals 2"; 
     break; 
    default: 
     echo "i is not equal to 0, 1 or 2"; 
} 
?> 
1

を使用

<?php 
switch($_GET["change"]) 
{ 
    case "value": 
    echo "You called this case."; 
    break; // Stop the switch for being executing futher. 

    default: // Set default message if the case wasn't found. 
    echo "Cannot find the case."; 
    break; 

} 
?> 

続きを読む:などを処理するための変数

3

あなたのスイッチケースが必要:あなたはこの警告を見てみましょうalternate syntaxを使用したい場合は

<?php 
switch ($_GET['change']) { 
    case true: 
     echo 'hello'; 
    break; 
    default: 
     echo 'bye'; 
    break; 
} 
?> 

:またはちょうどブラケットを設定した方がよい括弧{}

2

あなたは、あなたの完全なコード

switch (true): 
    case $_GET['change']: 
     echo 'hello'; 
     break; 
    default: 
     echo 'bye'; 
     break; 
endswitch; 
?> 

を作るこの

endswitch 

で、最後にあなたのスイッチを閉じる必要がありますを意味し、制御構造に関する別の構文を使用しています

switch/case構造を拡張する場合を除き、このコードを次のように単純化することはできますが、いずれの場合においても

echo isset($_GET['change']) ? "hello" : "bye"; 

、ちょうどcase $_GET['change']:を行うと、ちょうどそれが任意の値を保持している場合、彼らが何であるか、ないチェック、またはまったくその設定されている場合、あなたはこのことについての警告を得ることができます。あなたの構造を拡張する場合は、@ C0dekidの例を参照すべきである - それはあなたがあなたのために右のエンクロージャを入れていない、あなたのswitch/case

0

を構築する方法ですスイッチは、 ":"を使用しないでくださいが、 "{"。例:

switch (true) { 
case $_GET['change']: 
    echo 'hello'; 
break; 
default: 
    echo 'bye'; 
break; 
} 
+0

http://php.net/manual/en/control-structures.alternative-syntax.phpを参照してください。 – chris85

+0

さて、オフコース、彼はエンドスイッチを忘れました...しかし、これらの質問は削除しないでください? – ermacmkx

+0

はい、6件の回答は削除できません。 – chris85

関連する問題

 関連する問題