<?php
$regions = [
'int' => 1,
'nl' => 2,
'be' => 4,
'us' => 8,
'as' => 16,
'za' => 32,
];
for ($i = 0; ++$i < 1 << count($regions); array_walk($regions, function ($x, $region) use (&$list, $i) { var_dump($x, $i); if (!($i & $x)) return; if (isset($list[$region])) $list[$region] .= ",$i"; else $list[$region] = $i; }));
var_dump($list);
unset($list);
do {
} while(--$i);
preferences:
66.36 ms | 402 KiB | 5 Q