PHPのexplode関数がうまくいかない


PHPの質問です。
入力欄にある、スペースで区切られた数値aとbを以下の条件で出力したいです。
1・a>bの場合、aを出力。
2・a<bの場合、bを出力。
3・値が等しい場合、「等しい」と出力。
そのため、以下のコードを書いたのですがうまくいきません。
どこか間違っているところはありますか?

<?php
$box1 = trim(fgets(STDIN));
$pass[] = explode(" ", $box1)
if ($pass[0] > $pass[1]) {
echo $pass[0];
} elseif ($pass[0] < $pass[1]) {
echo $pass[1];
} elseif ($pass[0] == $pass[1]) {
echo "等しい";
}
?>

回答の条件
  • 1人5回まで
  • 登録:2016/03/28 03:33:44
  • 終了:2016/03/29 00:32:26

ベストアンサー

id:psne No.1

ぽけっとしすてむ回答回数428ベストアンサー獲得回数2292016/03/28 06:19:39

<?php
$box1 = trim(fgets(STDIN));
/*
$pass[] = explode(" ", $box1) // セミコロンがありません。
 */
// このように修正してみましょう。
$pass = explode(" ", $box1);

if ($pass[0] > $pass[1]) {
echo $pass[0];
} elseif ($pass[0] < $pass[1]) {
echo $pass[1];
} elseif ($pass[0] == $pass[1]) {
echo "等しい";
}

その他の回答(1件)

id:psne No.1

ぽけっとしすてむ回答回数428ベストアンサー獲得回数2292016/03/28 06:19:39ここでベストアンサー

<?php
$box1 = trim(fgets(STDIN));
/*
$pass[] = explode(" ", $box1) // セミコロンがありません。
 */
// このように修正してみましょう。
$pass = explode(" ", $box1);

if ($pass[0] > $pass[1]) {
echo $pass[0];
} elseif ($pass[0] < $pass[1]) {
echo $pass[1];
} elseif ($pass[0] == $pass[1]) {
echo "等しい";
}
id:pogpi No.2

pogpi回答回数348ベストアンサー獲得回数462016/03/28 07:09:18

数値なら、intvalした方がいいですね。

explodeの「" "」も、「' '」がいいと思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません