2016-09-16 5 views
0

JSON配列の値をこれよりも効率的に設定する方法はありますか?foreachを実行しているオンラインでPHPのメモリ制限

for($i=0;$i<sizeOf($json['activity']);$i++){ 
     $json['activity'][$i]['active'] = 'false'; 
} 

私は「偽」に「アクティブ」という名前のすべてのサブキーを設定したい 配列は巨大ではありません、彼らはおよそ8-10サブアレイと多次元であり、私はXAMPPのローカルホスト上で実行しています。

私は簡単に

Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) 

エラーを取得していますし、コードの残りの部分はのsetIntervalでOK動作します。私はメモリ制限を設定する方法を見てきましたが、配列キーを設定するためのよりクリーンな方法が必要であると思われます。

は、私はこれを正しく理解していれば、あなたはそれが実行されるたび以来、無限ループを作成し、あなたの配列が$ I-カウンタと同じ1つのより多くの価値を、取得するあなた

+0

ブール値としてfalseを設定しようとしましたか?それは文字列としてfalseを使うよりも少ないスペースを使うでしょう。別の最適化では、ループ内で使用する前に変数にsizeof($ json ['activity'])を代入できます。 –

答えて

1

ありがとうございます。配列のカウントを別の変数で最初に取得してから、そのループを実行してください。

$c = sizeOf($json['activity']); for($i=0;$i<$c;$i++){ 
    $json['activity'][$i]['active'] = 'false'; 
} 
関連する問題