PHP爆炸填充键而不是值

假设您有一个逗号分隔的字符串:

$str = 'a,b,c';

Calling explode(',', $str); will return the following:

array('a', 'b', 'c')

有没有一种爆炸方法可以填充结果数组的键而不是值?像这样:

array('a' => null, 'b' => null, 'c' => null)
评论
  • 如今Ac
    如今Ac 回复

    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);
    

    输出:

    array(3) {
      ["a"]=>
      NULL
      ["b"]=>
      NULL
      ["c"]=>
      NULL
    }
    

    Demo on 3v4l.org

  • O老男人
    O老男人 回复

    像这样的东西:

    $str = 'a,b,c';
    $arr = [];
    foreach ($explode(',', $str) as $key) {
        $arr[$key] = null;
    }
    

    不是那么漂亮,但是有效