3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dwellingInfo = [ ["AAA", "Chimney with red bricks"], ["BBB", "Two wide windows in the main floor"], ["CCC", "Roof tiles renewed in 2015"] ]; $haystack = implode( ',', array_column($dwellingInfo, 1) ); $dwellingAttributes = [ ["0001", 'Chimney', '/\b(?:Chimney with|Big stove)\b/i'], ["0002", 'Garden', '/\bgarden\b/i'], ["0003", 'Roof tiles', '/\bRoof tiles\b/i'], ["0004", 'Windows', '/\bwindows?\b/i'], ["0005", 'Garage', '/\b(?:garage|car port|under cover area)\b/i'] ]; $attributePatterns = [ "0001" => '/\b(?:Chimney with|Big stove)\b/i', "0002" => '/\bgarden\b/i', "0003" => '/\bRoof tiles\b/i', "0004" => '/\bwindows?\b/i', "0005" => '/\b(?:garage|car port|under cover area)\b/i' ]; foreach ($dwellingAttributes as [$id, $term, $pattern]) { printf( "%s - %s - %s\n", $id, $term, preg_match($attributePatterns[$id], $haystack) ? 'available' : 'unavailable' ); }
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
0001 - Chimney - available 0002 - Garden - unavailable 0003 - Roof tiles - available 0004 - Windows - available 0005 - Garage - unavailable

preferences:
137.19 ms | 402 KiB | 121 Q