Let’s say you have a comma-delimited string:
$str = 'a,b,c';
Calling explode(',', $str);
will return the following:
array('a', 'b', 'c')
Is there a way to explode such that the resulting array’s keys, and not values, are populated? Something like this:
array('a' => null, 'b' => null, 'c' => null)
Advertisement
Answer
You can use array_fill_keys
to use the output of explode
as keys to a new array with a given value:
$str = 'a,b,c'; $out = array_fill_keys(explode(',', $str), null); var_dump($out);
Output:
array(3) { ["a"]=> NULL ["b"]=> NULL ["c"]=> NULL }