Массив всех RGB-перестановок в PHP

Я пытаюсь сделать массив всех возможных цветов, сделанных из значений RGB. Каждая перестановка между r = 0 b = 0 g = 0 – r = 255 b = 255 g = 255. Идея моей функции заключается в том, что когда она называется, вы указываете предельное число, чтобы функция возвращала массив значений RGB до этого числа, чтобы остановить его, возвращая все 16 миллионов. Код, который у меня ниже, возвращает 767 перестановок (256 * 3), как я могу получить это, чтобы вернуть все 16 миллионов до лимита, который я предоставляю?

function colourArray($number) { $r = 0; $g = 0; $b = 0; $i = 0; while ($i <= $number) { $colours[] = array($r,$g,$b); $r++; $i++; } $i = 0; while ($i <= $number) { $colours[] = array($r,$g,$b); $g++; $i++; } $i = 0; while ($i <= $number) { $colours[] = array($r,$g,$b); $b++; $i++; } return $colours; }