未使用的局部变量该变量立即被覆盖

时间:2017-09-26 01:36:34

标签: php

<?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']);
  }
?>

1 个答案:

答案 0 :(得分:0)

由于您未在代码中出于任何目的使用$number变量,因此会发生这种情况。 所以没有使用它。 此外,因为你在同一个方法中调用$number = get_number_root($_POST['root']);,在switch case语句之后,通过调用方法覆盖了数字。 克服这个写函数返回数字并以不同的方法调用该函数。 请查看以下示例

   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
}