勉強時間は4時間ほどです。
勉強するにあたって、本はこちらを利用。
試験本番の内容は意外と難しく、終了直後は「落ちた?」と思いましたが、
割と余裕で合格。
今回、試験勉強をしていて「へぇ〜」となった問題を4題セレクトしてみました。
(著作権のため、自分なりに問題を改変しております。)
宇宙船演算子
print(1 <=> 2);
print(3 <=> -2);
print(2 <=> 2);
A:001 B:1-10 C:-110 D:実行エラー
宇宙船演算子とは、左の値と右の値を比較して左辺が大きい場合は「1」、同じ場合は「0」、右辺が大きい場合は「-1」を返す演算子です。
PHP7より追加された演算子です。
print(1 <=> 2); // 右の方が大きいので「-1」
print(3 <=> -2); // 左の方が大きいので「1」
print(2 <=> 2); // 同じ大きさなので「0」
よって、正解は「C:-110」です。
変数名の命名規則
問題2:変数名の指定として誤ってるものは?(2つ選択)
A:YUTORI B:4yutori C:Yutori_Shine D:_yutori E:yutori-shine F:yutori2020
変数名の命名規則の問題です。下記の規則のもと、変数を命名できます
- 頭に使って良いのはアルファベットとアンダースコア
- 2文字以降に使える文字はアルファベット、数字、アンダースコア
よって、正解は「B:4yutori、E:yutori-shine」です。
等価演算子
$data = '2020';
if ($data == 2020) {
print 'OK';
} else {
print 'NG';
}
A:「OK」が表示される B:「NG」が表示される C:なにも表示されない D:実行エラー
等価演算子の問題です。
よく条件判定に使用する「 == 」「 != 」「 <> 」は、実は型まで比較しません。型まで完全一致しているかの比較をおこないたい場合、
「 === 」「 !== 」を使用する必要があります。
演算子 | 記述例 | 意味 |
---|---|---|
== | a == b | bとaの値が等しい |
=== | a === b | bとaの値が等しく型も等しい |
!= | a != b | bとaの値が等しくない |
<> | a <> b | bとaの値が等しくない |
!== | a !== b | bとaの値または型が等しくない |
よって、正解は「A:「OK」が表示される」です。
ファイルの読み込みエラー判定
$file = file_get_contents('hoge.txt');
if(???????) {
print 'ファイルの読み取りに失敗しました';
}
B. if ( !$file )
C. if ( !$file == false )
D. if ( !$file === false )
ファイルの読み取りエラー判定の問題です。
「0」とだけ書かれたファイルを読み込んだ場合、$fileには文字列「0」が返される。 PHPでは「0」はfalseと返されるため、AやCはfalseと判定されてしまう。 同値演算子「===」を用いることで、 返り値がboolean型のfalseであることを判定できる。よって、正解は「D:if ( !$file === false )」です。
まとめ
試験合格自体はほぼノー勉でいけましたが、今回いろいろ知れて有益だったので、
勉強してよかったです。
気軽に達成感を得られますし、割とウケのいい資格なので皆さんもぜひ受験してみてくださいね!