phpカンファレンス2017|PHP7クイズ(レバテック)

phpカンファレンス2017へ参加してきました。
遅ればせながらブログに書きます。

全スライドはレバテックさん等がまとめてくれているそうです。
https://freelance.levtech.jp/guide/detail/74/
https://qiita.com/hikarut/items/9029566b05c25d235f78

そのレバテックさんがブースでphpクイズなるものをやっていたので、
勝手に自分的答え合わせやっていきます。

公式の解答ではありません。許可も取ってないので怒られたら消します。

php7クイズ

※ちなみに現場では問1すらわからなくてやる気なくしましたw

問1)PHP7.1で以下の処理を実行すると何がおきるでしょう?

1) ”a”が出力される
2) ”d”が出力される
3) FatelErrorが発生する
4) 空文字が出力される

回答 2) dが出力される

PHP7.1からはマイナス値が指定できるようになったようです。

PHP 7.1.0 以降では、負の文字列オフセットにも対応するようになりました。 これは、文字列の末尾からのオフセットを表します。 以前のバージョンでは、負のオフセットで読み込もうとすると E_NOTICE が発生し (空文字列を返します)、負のオフセットで書き込もうとすると E_WARNING が発生していました (文字列には何も手が加えられません)。
https://php.net/manual/ja/language.types.string.php

問2) PHP7から導入されたintdiv関数の処理内容は?

1) 数値を含む文字列を数字と文字列に分割する
2) HTMLのDIVタグの数を数える
3) 最大公約数を取得する
4) 整数の除算し、整数を返す

回答 4) 整数の除算し、整数を返す

int intdiv ( int $dividend , int $divisor )
dividend を divisor で割った整数商を返します。
ex) intdiv(3, 2);
https://php.net/manual/ja/function.intdiv.php

問3) PHP7.1環境下で以下の処理を実行すると何が起きるでしょうか?

1) 正常に動作し、$hoge連想配列の要素が出力される
2) 正常に動作し、空文字が出力される
3) Warnigが発生し、空文字が出力される
4) Warnigが発生し、”f”が出力される

回答 4) Warnigが発生し、”f”が出力される

Warning: Illegal string offset ‘moge’ in C:\hogehgoe\public\index.php on line 8
string(1) “f”

※めんどくさくてphp7の環境しか用意できませんでしたので、php7環境での結果です。

問4 以下の処理を実行すると何が起きるでしょうか?

1) PHP Warnig: Illegal string offset ‘bar’が発生
2) PHP Warnig: Illegal string offset ‘baz’が発生
3) 2が出力される
4) PHP Notice: Undefinde variable:f が発生

回答 3) 2が出力される

可変変数は怖いです

※めんどくさくてphp7の環境しか用意できませんでしたので、php7環境での結果です。

以上、勝手に回答してみました。