3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array( '31' => array( 'Amsterdam' => array(), 'Rotterdam' => array(), 'Den Haag' => array(), 'Utrecht' => array(), 'Eindhoven' => array(), 'Tilburg' => array(), 'Almere' => array( '036' => array( 'BU00340212' => array( 'name' => 'Muziekwijk Noord', 'residents' => array( 'Henk', 'Dirk', 'Jaap', ), ), 'BU00340213' => array( 'name' => 'Muziekwijk Zuid', 'residents' => array( 'Wim', 'Pim', 'Jim', 'Tim', ), ), ) ), 'Groningen' => array(), 'Breda' => array(), 'Nijmegen' => array(), ) ); function recursive($data, $countryCode = null, $countryData = null, $city = null, $cityData = null, $netNummer = null, $netData = null, $cbscode = null, $cbsData = null, $residents = null){ if($residents){ $resident = array_shift($residents); echo $city . '(netnummer: ' . $netNummer . ')(cbscode: ' . $cbscode .'): ' . $resident . '<br>'; if($residents){ recursive($data, $countryCode, $countryData, $city, $cityData, $netNummer, $netData, $cbscode, $cbsData, $residents); } return null; } if($cbscode && $cbsData){ $residents = $cbsData['residents']; recursive($data, $countryCode, $countryData, $city, $cityData, $netNummer, $netData, $cbscode, $cbsData, $residents); } if($countryCode && $countryData && $netData){ $cbscode = key($netData); $cbsData = array_shift($netData); recursive($data, $countryCode, $countryData, $city, $cityData, $netNummer, $netData, $cbscode, $cbsData); } if($countryCode && $countryData && $city && $cityData){ $netNummer = key($cityData); $netData = array_shift($cityData); recursive($data, $countryCode, $countryData, $city, $cityData, $netNummer, $netData); } if($countryCode && $countryData){ $city = key($countryData); $cityData = array_shift($countryData); recursive($data, $countryCode, $countryData, $city, $cityData); } if($data){ $countryCode = key($data); $countryData = array_shift($data); if($countryData){ recursive($data, $countryCode, $countryData); } } return null; } recursive($arr);
Output for 7.1.25 - 7.1.28, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.15, 8.5.0
Almere(netnummer: 036)(cbscode: BU00340212): Henk<br>Almere(netnummer: 036)(cbscode: BU00340212): Dirk<br>Almere(netnummer: 036)(cbscode: BU00340212): Jaap<br>Almere(netnummer: 036)(cbscode: BU00340213): Wim<br>Almere(netnummer: 036)(cbscode: BU00340213): Pim<br>Almere(netnummer: 036)(cbscode: BU00340213): Jim<br>Almere(netnummer: 036)(cbscode: BU00340213): Tim<br>

preferences:
181.59 ms | 408 KiB | 5 Q