PHP条件文でのコードのエラー検出
次の問題では、あるプログラマーがコードを書き、 おそらくそこに誤りを犯しています。コードが 説明されていることを正しく実行しているかどうかを 確認する必要があります。コードが 正しく動作しない場合は、エラーを修正しなければなりません。
コードは数値の合計を確認する必要があります:
<?php
$num1 = '1';
$num2 = '2';
if ($num1 + $num2 === '3') {
echo '+++'; // これが出力されるべきです
} else {
echo '---';
}
?>
コードは数値の最初の桁を確認する必要があります:
<?php
$num = 123;
if ($num[0] === 1) {
echo '+++';
} else {
echo '---';
}
?>
コードは数値の最初の桁を確認する必要があります:
<?php
$num = 123;
if ((string) $num[0] === 1) {
echo '+++';
} else {
echo '---';
}
?>
コードは数値の最初の桁を確認する必要があります:
<?php
$num = 123;
$str = (string) $num;
if ($str[0] === 1) {
echo '+++';
} else {
echo '---';
}
コードは、数値がちょうど2桁であることを 確認する必要があります:
<?php
$num = 12;
if (strlen($num) === 2) {
echo '+++';
} else {
echo '---';
}
?>
コードは数値の最初の桁を確認する必要があります:
<?php
$num = 123;
$str = (string) $num;
if ($num[0] === '1') {
echo '+++';
} else {
echo '---';
}
コードは、数値がちょうど2桁であることを 確認する必要があります:
<?php
$num = 12;
$str = (int) $num;
if (strlen($str) === 2) {
echo '+++';
} else {
echo '---';
}
?>
次のコードは、作者が意図した通りには 動作しません:
<?php
$num = 1;
if ($num !== 1 or $num !== 2) {
echo '+++';
} else {
echo '---'; // これが出力されるべきです
}
?>
その理由を説明してください。
次のコードは、作者が意図した通りには 動作しません:
<?php
$var1 = '1';
$var2 = '2';
if ($var1 + 1 === $var2) {
echo '+++'; // これがトリガーされるべきです
} else {
echo '---';
}
?>
その理由を説明してください。