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