PHP7の問題集を購入し、どれくらい覚えているかの認識確認で行なっていたのですが、少し不明な点がありましたので、質問させていただきます。
問題文
次のコードを実行した結果として正しいものを選択してください。
php
1if(abs(-100) > abs(-50)){ 2 print "AAA"; 3} 4 5if("abc" > "xyz"){ // (1 6 print "BBB"; 7}elseif ("576" < "890") { 8 print "CCC"; 9}
語群
A. AAABBBCCC B. AAABBB C. AAACCC D. BBBCCC E. AAA F. BBB G. CCC
答えは、CのAAACCCです。
最初のabs関数では、絶対値を返すので、100 > 50となりtrueなのでAAAになることはわかったのですが、(1も理解済み
else if
の場合trueとなりCCCとなるのでしょうか?
もちろん解説があるので、読んだ所
elseif文では、数値と数値を比較します。「567」と「890」では、「840」の方が大きい為、条件が成立します。
ここで、疑問に思いました。二重引用符での値となっている訳ですから、integer
ではなくましてや浮動小数点ではないと。では、この型は文字列なのではないかと思い、
var_dump
すると、stringであり文字列でした。
この本にある、解説は間違っているのでしょうか?
PHP7 技術者認定試験初級の(おそらく)唯一の公式の問題集なので、間違っていることはないのではと思っているのですが、ご回答お願いします。
php
1$num = 100; 2var_dump($num); 3 4$num = "100"; 5var_dump($num);
出力結果
int(100) string(3) "100"
回答3件
あなたの回答
tips
プレビュー