2007-03-01から1ヶ月間の記事一覧

HTML系関数

PHP

htmlspecialchars アンパサンド、クオート(オプション)、ダブルクオート(オプション)、大なり、小なりをHTMLエンティティに変換する。 2008/06/05追記 第2引数にENT_QUOTESが設定されていないとシングルクオートがエスケープされないので注意。 htmlentities…

array_merge関数

PHP

引数にNULLが渡された場合、空の配列が渡されたのと同じ動きをする $foo = array_merge(NULL, NULL); $bar = array_merge(array('a'), NULL); $baz = array_merge(NULL, array('b')); $foobar = array_merge(array(), array('c')); var_dump($foo); var_dump…

is_a関数

PHP

調べたいオブジェクトがNULLでも大丈夫 PHP5では非推奨。instanceof演算子を代わりに使うらしい class Foo { } $foo =& new Foo(); var_dump(is_a($foo, 'Foo')); var_dump(is_a($bar, 'Foo')); => bool(TRUE) => bool(FALSE)

クラスの可視性

PHP

クラス、メソッド、フィールドに可視性の設定はない。すべてpublicである class Foo { var $bar; function Foo() { $this->bar = "ok"; } } $foo = new Foo(); echo $foo->bar; => "ok" ※ちなみにこの日記でいうところのPHPは、基本的にPHP4のこと

PHPのブロックのスコープ

PHP

ブロック内とブロック外のコンテキストは同一? { $foo = 'bar'; echo $foo; } echo $foo; => bar => bar

$foo = NULLとunset($foo)の違い

PHP

unsetはNULLの代入と等価ではない unsetは「現在のコンテキストにおける変数の破棄」を行う 関数内でunsetを用いる場合は、破棄対象の変数の型に注意(global変数、static変数、参照渡しの変数など)

isset($foo)と$foo != NULLの違い

PHP

issetに定数は渡せない define(FOO, NULL) var_dump(FOO != NULL); => FALSE var_dump(isset(FOO)); => parse error

NULL型

PHP

特別な型である NULLは、NULL型の唯一の値である まだ値が何も代入されていない変数はNULLである unsetされた変数はNULLである NULLは大文字小文字を区別しない。NULL、null、nUlLは同一である

isset

PHP

NULLが代入されている変数に対してはTRUEを返す