3v4l.org

run code in 300+ PHP versions simultaneously
<?php function saveCityZipCode(string $city, string $zipCode): void { var_dump($city, $zipCode); } $address = 'Studio 5, One Infinite Loop, Cupertino 95014'; preg_match('/\s*([^,]+?)\s*(\d+)$/', $address, $m) or throw new Exception('Failed to parse city and zipcode of address'); saveCityZipCode(...array_slice($m, 1)); // or just saveCityZipCode($m[1], $m[2]); // named capture groups can be spread too (but I probably wouldn't until PHP makes a PREG_NO_INDEXED_KEYS flag). echo "\n---\n"; preg_match('/\s*(?<city>[^,]+?)\s*(?<zipCode>\d+)$/', $address, $m) or throw new Exception('Failed to parse city and zipcode of address'); saveCityZipCode(...array_filter($m, fn($k) => !is_int($k), ARRAY_FILTER_USE_KEY));

preferences:
37.5 ms | 407 KiB | 5 Q