php、ジェネレータ構文でメモリを節約する。

ジェネレータ関数を使用すると、yieldが呼び出されるたびに値が生成され、反復処理の中でメモリを節約することができます。

function temperature_diff($temperature_infos){ // temperature_infosにはある日付をキーに、その日の最低気温と、最高気温が入っている。
   foreach($temperature_infos as $temperature_info){
       yield ($temperature_info["high"] - $temperature_info["low"]);
   } 
}

$temperature_diff = temperature_diff();

このようにすれば、

foreach($temperature_diff as $diff){
    echo($diff); // => 6など
}

という温度差の出力をするたびに、temperature_diff関数において、次にyieldが呼ばれるところまで実行される実装になり、巨大な配列を複数作らなくてもよい->メモリの節約ができる、という利点があります。