なぜこれが機能しないのか分かりません。私はそれが何かの単純な間違いのためだと知っています。簡単な文字列スイッチとケース関数が機能しない
私を助けてください。
$p = 'aM';
function FormatPeriod($p) {
$periodFormated = 'null';
switch($p){
case "am": $periodFormated = "AM"; break;
case "Am": $periodFormated = "AM"; break;
case "aM": $periodFormated = "AM"; break;
case "pm": $periodFormated = "PM"; break;
case "Pm": $periodFormated = "PM"; break;
case "pM": $periodFormated = "PM"; break;
default: $periodFormated = 'fail';
}
return $periodFormated;
}
$periodFormated = FormatDate($p);
悲しいことに、出力は "aM"です。
なぜ文字列が "AM"に変更されませんでしたか?
〜ありがとうございます。それはあなただけ
$p = strtolower($p);
if ($p == 'am' || $p == 'pm')
{
$p = strtoupper($p);
}
else
{
echo 'fail';
}
1つの以上のチェックを追加する必要があり、あなたは形式に別の関数を呼び出しているユーザーの入力である場合は、ちょうど必要
このコードでは、タイプミスがあります。最初に修正して、推測する必要はありません。 – Jon
'FormatDate == FormatPeriod'ですか? – alex
'致命的なエラー:未定義の関数FormatDate()を呼び出します。エラー報告を完全に無効にしましたか? –