2015-01-01から1年間の記事一覧
順不同です。 インスタンスメソッド内でのクラス変数取得 from_static() ); //=> array(123, 234, 345) p…
半年近くPHP5.3を仕事で使っててつらかったことをまとめた。 キーワードも関数名も大文字と小文字を区別しない h(); // hoge! 複数人で作ってるとほんとこういう些細なところで余計な手間がかかる。 チェックするのを自動化するのも手間。 あるいは、これく…
関数の引数の挙動メモ。 デフォルト値 デフォルト値は、定数式である必要があり、 (例えば) 変数やクラスのメンバーであってはなりません。 http://php.net/manual/ja/functions.arguments.php#functions.arguments.default定数ならばよいということで、定数…
ハマったのでメモ。 PHP5.4以降なら問題ないっぽい。 無名関数内でselfや$thisを使うとエラーになる。
なんか動いたのでメモ。 str = $str; } } $hoge = new Hoge("hoge"); print_r($hoge); $fuga = new $hoge("fuga"); // ★オブジェクトにnewする print_r($fuga); __construct() is called. Hoge Object ( [str] => hoge ) __con…
PHP: array_walk - Manual array_walkはforeachに置き換えた方が圧倒的に可読性が良いと思う。 特に引数でそのまま無名関数を渡してしまう場合。 array_walk版 15 // [1] => 25 // [2] => 35 // [3] => 45 // [4] => 55 //) foreach版
呼べたのでメモ。
辛いところを見ていても辛くなるだけなので、PHPのいいところを考えてみる。 タイプヒンティングがある PHP: タイプヒンティング - Manual関数の引数に型指定ができるよ。 ただしintやstringなどのプリミティブ型は指定できないよ。
PHPではtraitというメソッドの固まりみたいなものをクラス内に差し込むことができる。 が、interfaceと違って、instanceofで特定のtraitが使用されているか判定することができないようだ。traitの場合 bool(false) interfaceの場合
PHPの配列は配列ではない。 PHP の配列は、実際には順番付けられたマップです。 http://php.net/manual/ja/language.types.array.php他の言語でいうところの配列は、PHPでは添字がキーになった辞書である。 なので、値のリストと、キー・値のペアを一緒に混…
やることはPerlのgrepやRubyのArray#selectと同じなのに、PHPのarray_filterは添字を維持してフィルタしてくれやがる。Ruby [10, 11, 12, 13, 14, 15, 16].select{|i| i % 2 == 1} #=> [11, 13, 15] PHP Array //=> ( //=> [1] => 11 //=> [3] => 13 //=> […