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));
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array ( 0 => array ( 'tld' => '.aero', 'gTLD' => array ( 0 => '.airport.aero', 1 => '.cargo.aero', 2 => '.charter.aero', ), ), 1 => array ( 'tld' => '.aetna', 'gTLD' => array ( ), ), )

preferences:
117.25 ms | 407 KiB | 5 Q