3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = "Name=John AND State=OR OR State=CA"; if (preg_match_all( '~([a-zA-Z]+=\S+)(?: ([A-Z]{2,3}))?~', $string, $out, PREG_SET_ORDER ) ) { echo "data = "; var_export(array_column($out, 1)); echo "\nconjunctions = "; var_export(array_column($out, 2)); }
Output for 7.1.0 - 7.1.33, 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.27, 8.4.1 - 8.4.14
data = array ( 0 => 'Name=John', 1 => 'State=OR', 2 => 'State=CA', ) conjunctions = array ( 0 => 'AND', 1 => 'OR', )

preferences:
195.25 ms | 408 KiB | 5 Q