<?php
$pattern = '/([a-z]+)\[(\d+),(\d+)]/i';
$str = 'Mon[3,9] Tue[3,9] Wed[5,9] Thu[5,11] Fri[5,11] Sat[5,11] Sun[4,10]';
$result = [];
preg_replace_callback(
$pattern,
function ($m) use (&$result) {
$result[$m[1]] = [$m[2], $m[3]];
},
$str
);
print_r($result);
- Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- Array
(
[Mon] => Array
(
[0] => 3
[1] => 9
)
[Tue] => Array
(
[0] => 3
[1] => 9
)
[Wed] => Array
(
[0] => 5
[1] => 9
)
[Thu] => Array
(
[0] => 5
[1] => 11
)
[Fri] => Array
(
[0] => 5
[1] => 11
)
[Sat] => Array
(
[0] => 5
[1] => 11
)
[Sun] => Array
(
[0] => 4
[1] => 10
)
)
preferences:
165.14 ms | 403 KiB | 145 Q