2017-09-26 15 views
0
<?php 
/*FInd fifth_number - private method*/ 

    function get_number_root($root) { 
     switch($root) { 
      case 'A': 
       $number = 1; 
       break; 
      case 'A#': 
       $number = 2; 
       break; 
      case 'Bb': 
       $number = 2; 
       break; 
      case 'B': 
       $number = 3; 
       break; 
      case 'C': 
       $number = 4; 
       break; 
      case 'C#': 
       $number = 5; 
       break; 
      case 'Db': 
       $number = 5; 
       break; 
      case 'D': 
       $number = 6; 
       break; 
      case 'D#': 
       $number = 7; 
       break; 
      case 'Eb': 
       $number = 7; 
       break; 
      case 'E': 
       $number = 8; 
       break; 
      case 'F': 
       $number = 9; 
       break; 
      case 'F#': 
       $number = 10; 
       break; 
      case 'G': 
       $number = 11; 
       break; 
      case 'G#': 
       $number = 12; 
       break; 
      case 'Ab': 
       $number = 12; 
       break; 
      default: 
       die('error'); 
       return $number; 
     } 

     $number = get_number_root($_POST['root']); 
    } 
?> 
+4

ようこそStackOverflow!達成しようとしていることを正確に理解するのは少し難しいので、私たちがあなたを助けてくれるように、あなたの質問を更新して**コンテキスト**を追加して**あなたの意図を明確にしてください**。 [**これまでに試したことがある**](http://meta.stackoverflow.com/questions/261592)があれば教えてください。詳細については、[**よくある質問をどうやるか**](http://stackoverflow.com/help/how-to-ask)に関するヘルプ記事を参照して、サイトの[**ツアー**](http://stackoverflow.com/tour):) –

答えて

0

これは、コード内で$number変数を使用していないために発生します。 これは未使用です。 同じメソッド内で$number = get_number_root($_POST['root']);を呼び出しているため、switch caseステートメントの直後に、メソッドを呼び出すことによってnumberが上書きされます。 このwrite関数を克服してnumberを返し、別のメソッドでその関数を呼び出します。 以下の例を確認してください。

function get_number_root($root) { 
     switch($root) { 
      case 'A': 
       $number = 1; 
       break; 
      case 'A#': 
       $number = 2; 
       break; 
      case 'Bb': 
       $number = 2; 
       break; 
      case 'B': 
       $number = 3; 
       break; 
      case 'C': 
       $number = 4; 
       break; 
      case 'C#': 
       $number = 5; 
       break; 
      case 'Db': 
       $number = 5; 
       break; 
      case 'D': 
       $number = 6; 
       break; 
      case 'D#': 
       $number = 7; 
       break; 
      case 'Eb': 
       $number = 7; 
       break; 
      case 'E': 
       $number = 8; 
       break; 
      case 'F': 
       $number = 9; 
       break; 
      case 'F#': 
       $number = 10; 
       break; 
      case 'G': 
       $number = 11; 
       break; 
      case 'G#': 
       $number = 12; 
       break; 
      case 'Ab': 
       $number = 12; 
       break; 
      default: 
       die('error'); 
     } 
     return $number; 

    } 

function getNumberAccordingToRoot(){ 
    $number = get_number_root($_POST['root']); 
//Do the necessaries to $number here 
} 
関連する問題