3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 'Some Text', 'Some Other Text (+£14.20)', 'Foo', 'Text Text (+£26.88)', 'Another One (+£68.04)', ]; $result = []; foreach ($array as $v) { $a = preg_split('/ \(\+£([^)]+)\)/', $v, 2, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); $result[$a[0]] = (float) ($a[1] ?? 0); } var_export($result);
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
array ( 'Some Text' => 0.0, 'Some Other Text' => 14.2, 'Foo' => 0.0, 'Text Text' => 26.88, 'Another One' => 68.04, )

preferences:
68.83 ms | 406 KiB | 5 Q