<?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