<?php $a = [[]]; for ($i = 0; $i < 1000; ++$i) { for ($j = 0; $j < 1000; ++$j) { $a[$i][$j] = 1; } } <?php $a = [[]]; for ($i = 0; $i < 1000; ++$i) { for ($j = 0; $j < 1000; ++$j) { // flipped! $a[$j][$i] = 1; } } この記事を読めばなんとなくわかるようになると思います。 はじめに PHPや他のスクリプト系の言語はC言語と違ってメモリの管理について気にすることはほとんどないと思います。 C言語ではメモリを確保するところから解放するところまですべて面倒を見る必要がありますが新しい言語にはガベージコレクタが実装されているので確保したヒープメモリは変数への参照がなくなった時点で解放されます