3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ '.aero', '.airport.aero', '.cargo.aero', '.charter.aero', '.aetna' ]; $result = []; foreach ($array as $value) { if (!preg_match('/(?!^)\..+/', $value, $m)) { $result[$value] = ['tld' => $value, 'gTLD' => []]; } else { $result[$m[0]]['gTLD'][] = $value; } } var_export(array_values($result));

preferences:
28.71 ms | 406 KiB | 5 Q