0

通常のループを使用していますが、大きなデータをループに入れると機能しません。大きなデータを配列に入れる方法はありますか?

$arr = array('Joe', 'Jack');
$arr2 = array();
foreach($arr as $val){
    $arr2[] = $val;
}
print_r($arr2);

したがって、$arrが大きすぎると、ブラウザでデータ受信なしのエラーが発生します。

助けていただければ幸いです。

4

2 に答える 2

3

おそらく、より軽量なSplFixedArrayを見たいと思うでしょう。従来のハッシュ構造とは対照的に、データを格納するために通常の連続したメモリブロックを使用します。

2番目の方法はmemory_limitパラメーターで遊ぶことですが、それは良い考えではありません

ini_set('memory_limit', '256M');

3番目の方法は、配列をチャンクで吐き出すことです

于 2012-06-15T01:12:42.830 に答える
0

-GETを使用している場合は、大きなデータを処理するときにPOSTに変更します。

-フォームタイプをenctype="multipart/form-data"に変更します

-php.inipost_max_sizeの変更

-それでも機能しない場合は、ini_set("memory_limit","-1")

于 2012-06-15T01:19:06.523 に答える