タグ

troubleとarrayに関するkathewのブックマーク (2)

  • PHPの配列によるメモリ消費.

    久々更新. 前から思っていましたが、何故PHPの配列はあんなにメモリを消費するんだろ. 大きいデータの場合、文字列→配列へexplodeなりすると、メモリ消費量が一気に10倍程度まで跳ね上がります orz この傾向は当然ながらデータサイズが小さい物より大きいものの方がより顕著です. 迂闊に大きいデータを配列化しようものなら、貴重なメモリ資源が喰い散らかされてしまいます(終了時には解放されますが、Linuxのメモリ最適化処理なんかの環境下だと、終了後も一見掴みっぱなしに見えるから気持ち悪い…). 例えばデータベース. データベース回りの機能をクラス化すると、大抵SELECTクエリの結果データを配列へ格納する様に作ると思いますが、この時も直接mysql_fetch_xxxxで処理を回すより結構なメモリ消費量となってしまいます. 更に、データベースから取得した配列データのエンコードを変換して出力

  • PHP 5.4.0 でArray to string conversionがarray_diffで発生してフルコンボだドン! - Feelin' Kinda Strange

    要約 array_diff、array_diff_assocで多次元配列のときにE_NOTICEが発生するってことだドン! をPHP 5.4.0で実行すると、 となるのだドン! 以下は遭遇した時のお話だドン! さて、今日もcontributeという名の時間のコインを投入するのだドン! ZF2は先日のリリースで PHP 5.4 Support とか大判振る舞いしちゃってるので再確認するのだドン! テストを動かしてみるドン! エラーが出たドン!ソースを確認してみるのだドン! 対象行の変数をvar_exportして再現させてみるドン! $ ~/php/php-5.4.0/sapi/cli/php 6_MvcTest_2.php $ あれー? あ、error_reportingを忘れていたドン! 先頭にerror_reporting(E_ALL);を追加して再実行だドン! マニュアルをよく読めって

    PHP 5.4.0 でArray to string conversionがarray_diffで発生してフルコンボだドン! - Feelin' Kinda Strange
  • 1