読者です 読者をやめる 読者になる 読者になる

Zend PHP Certification

PHP

PHPの暗黙の型変換についてPHPの公式リファレンスで再確認していたのですが、いままで知らなかったことも勉強できて、なかなか有意義でした。例えば、is_numeric関数がローケルに左右されるとか。
【追記】is_numericがローケルに左右されるというのは勘違いでした(参考)。


PHPについて知らなかったことというと、個人的には、Zend PHP Certificationを思い出します。PHPを勉強しはじめて間もないころに取得したのですが、今思い返すと、PHPの王道どころか、かなり斜め上を行くような試験だった気がします。
zend.comではPHP5版のサンプルテストが提供されているので、(ネタを探している)PHP開発者の方は試してみることをおすすめします。
サンプルテストは8問あって、僕は8問中4問正解でした。いま受験しても、絶対に受かりません。


この中に、いくつか興味深い試験があったので、ご紹介します。

<? echo count ("123") ?>は何を出力しますか。

A) 3
B) False
C) Null
D) 1
E) 0

次のコードの出力は何ですか。

<?php
echo count(strlen("http://php.net"));
?>

この二つは、count関数に文字列を与えた場合の返り値ですね。僕は本当に分からないです。正解は、「こんなコードを書いてきた奴に説教をする」ではないでしょうか。
次の問題は、かなりすごいです。

次のコードは、____選択____

<?php
class Foo {
?>
<?php
function bar() {
print "bar";
}
}
?>

A) 動く。クラス定義は複数のPHPブロックに分割できる。
B) 動かない。クラス定義は単一のPHPブロック内になくてはならない。
C) 動かない。クラス定義は単一のファイル内になくてはならないが、複数のブロックに分割できる。(訳注、問題文の誤り?)
D) 動く。クラス定義は複数のファイル、複数のブロックに分割できる。

残念ながら、正解は選択肢の中にありません。正解は、「こんなコードを書いてきた奴はグーで殴る」です。