foreach ($array as $value) {
$a[$value["id"]]["a"] = $value["a"];
$a[$value["id"]]["b"] = $value["b"];
$a[$value["id"]]["c"] = $value["c"];
}

こういう風に書いてるのがあるのですが、
foreachの中を、
$id = $value["id"];
$a[$id]["a"] = $value["a"];
$a[$id]["b"] = $value["b"];
$a[$id]["c"] = $value["c"];
といった感じにするか迷ってます。

例えばfor文で
for ($i = 0; $i < count($array); $i++){}
とやるとき、
count($array)が毎回呼ばれるからこれを外にだして、
$count = count($array);
for ($i = 0; $i < $count; $i++) {}
とやるのがセオリーだと思うのですが、
上記のforeach文の場合では、同様の理由で、
$id = $value["id"];のようにする必要はないと考えて大丈夫でしょうか?