Explode a string to associative array without using loops? [duplicate]

PHP 5.5+ two-line solution, using array_chunk and array_column:

$input="1-350,9-390.99";

$chunks = array_chunk(preg_split('/(-|,)/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));

print_r($result);

Yields:

Array
(
    [1] => 350
    [9] => 390.99
)

See it online at 3v4l.org.

Leave a Comment