php

PHPのfread関数は、第2引数で指定した分だけメモリを消費する

php

PHPのfread関数は、第2引数で指定した大きさのバッファを確保してそのまま返すらしい。実際に読み込んだバイト数が小さかったとしても、返された値をそのまま配列に入れてると、すぐにメモリが足りなくなる。 $ echo hoge | php -r ' $a = memory_get_usage(…

compact()を使って変数名付きのデバッグ出力を手軽に

php

PHPでデバッグ出力をいくつも表示するとき、どの値がどの変数のものなのかわかるように、こんなふうに書く。(よね?) var_export(array("long_var_name1" => $long_var_name1, ...)); ここでcompact()を使うと、 var_export(compact("long_var_name1", ...…

arrayをarray[*][b][c]の値でソート

php

'; $f = create_function('$x, $y', "return \$x$r $c \$y$r ? -1 : (\$x$r == \$y$r ? 0 : 1);"); return uasort($a, $f); } 使い方 array(i => …