3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = "0&39avfy;&39avfy;task&39avfy;rose&39avfy;duration&39avfy;1.25&39avfy;user&39avfy;15&39avfy;1&39avfy;&39avfy;task&39avfy;daisy&39avfy;duration&39avfy;0.75&39avfy;user&39avfy;25&39avfy;2&39avfy;&39avfy;task&39avfy;orchid&39avfy;duration&39avfy;1.15&39avfy;user&39avfy;7"; $delim = '&39avfy;'; $result = []; foreach (preg_split('/' . $delim . '(?=\d+' . $delim . $delim . ')/', $input) as $row) { [$i, $k, $result[$i][$k], $k, $result[$i][$k], $k, $result[$i][$k]] = sscanf($row, "%[^&]$delim" . str_repeat("$delim%[^&]", 6)); } var_export($result);
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => array ( 'task' => 'rose', 'duration' => '1.25', 'user' => '15', ), 1 => array ( 'task' => 'daisy', 'duration' => '0.75', 'user' => '25', ), 2 => array ( 'task' => 'orchid', 'duration' => '1.15', 'user' => '7', ), )

preferences:
65.47 ms | 1019 KiB | 4 Q