人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのfor文で変数に文字列を追加する処理をしているのですが、ある回数ループすると動作しなくなります。変数に容量制限はあるのでしょうか?

●質問者: katase_n
●カテゴリ:コンピュータ
✍キーワード:PHP ループ 変数 文字列
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kanetetu
●25ポイント

http://ns1.php.gr.jp/php-jp/archives/msg00513.html

forも同じです。

◎質問者からの返答

ループには限界があったのですか。

今回の場合は2重にはなっておらず2000回もループしていません。

質問に情報が不足していて申し訳ないです。

2000回ほどのループで変数の文字列データは200KB程度になります。

エラーは全く表示されずに処理が止まってしまいました。


2 ● かほちゅう
●25ポイント

http://tryasp.winscom.co.jp/wbbs_freetalk.asp?TBL=W4_ASP_FreeTal...

マニュアルから引用すると・・・

「文字列が非常に大きくなっても問題ありません。PHPに課せられる文字列 のサイズの実用上の制限はありません。このため、長い文字列に関して 恐れる必要は全くありません。」

とありますが、実際には物理メモリ上の制約があります。

◎質問者からの返答

1MBにもならないデータなので何か別のところで引っかかってそうな気もしてきました…。

以前eval()関数を使ったときにもデータが数百KBになると止まってしまったので、関数ごとに制約があるのかも疑問です。


3 ● kanetetu
●10ポイント

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic...

こちらをみてみて下さい。

◎質問者からの返答

javaですか?

どうやらob_start()で1Mバッファリングしていることが原因のような感じで、こまめにflushしたら表示されました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ