第2章 PHPの基本 / 第1回 模擬試験
PHPのデータ型に関する次の記述のうち、正しいものはどれか。
シングルクォート文字列内では変数展開が行われる。
`null`は値が存在しないことを示す特別なデータ型である。
正解
ヒアドキュメント構文は`>>>識別子`で開始する。
PHPには論理型(boolean)は存在しない。
解説
`null`は「値が存在しない」ことを表すためだけに使われる特別な型で、`null`型の値は`null`のみです。変数が初期化されていない、または明示的に`null`を代入された場合などに使われます。
他の選択肢が誤りである理由は次の通りです。
・シングルクォート文字列(`'...'`)内では変数展開(`$var`を値に置き換える処理)は行われません。変数展開が行われるのはダブルクォート文字列(`"..."`)やヒアドキュメントです。
・ヒアドキュメント構文は`<<<識別子`(不等号2つ)で開始します。`>>>`ではありません。
・PHPには論理型(`bool`)が存在し、`true`/`false`の2値を扱えます。
例:
```
$name = 'Taro';
echo 'Hello $name'; // 変数展開されず「Hello $name」とそのまま出力
echo "Hello $name"; // 「Hello Taro」と出力される
var_dump(is_null(null)); // true
```
(参照: 独習PHP 第4版 第2章 PHPの基本 2.3節 p.60〜70)
関連する問題
- PHPの配列に関する次の記述のうち、誤っているものはどれか。
- PHPの型の相互変換に関する次の記述のうち、正しいものはどれか。
- PHPの変数と定数に関する次の記述のうち、誤っているものはどれか。
- 次のコードの実行結果として正しいものはどれか。 ```php $n = 2; $p = 3; ++$n; $p *= 2; $a = "$n, $p"; --$n; $p *= 3; $b = "$n, $p"; print $a . ' / ' . $b; ```
- 次の実行結果を得たい場合、コードの【A】と【B】に入る組み合わせとして正しいものはどれか。 ```php [ 実行結果 ] snowdrop, marigold [ コード ] $flowers = array(array('rose', 'hibiscus', 'tulip'), array('snowdrop','lily','gardenia'), array('lavender','gentian','pansy'), array('dandelion','sun flower','marigold')); print 【A】. ', ' .【B】; ```