How to implode array with key and value without foreach in PHP

后端 未结 11 1395
悲&欢浪女
悲&欢浪女 2020-12-04 07:20

Without foreach, how can I turn an array like this

array(\"item1\"=>\"object1\", \"item2\"=>\"object2\",.......\"item-n\"=>\"objec         


        
11条回答
  •  攒了一身酷
    2020-12-04 08:12

    and another way:

    $input = array(
        'item1'  => 'object1',
        'item2'  => 'object2',
        'item-n' => 'object-n'
    );
    
    $output = implode(', ', array_map(
        function ($v, $k) {
            if(is_array($v)){
                return $k.'[]='.implode('&'.$k.'[]=', $v);
            }else{
                return $k.'='.$v;
            }
        }, 
        $input, 
        array_keys($input)
    ));
    

    or:

    $output = implode(', ', array_map(
        function ($v, $k) { return sprintf("%s='%s'", $k, $v); },
        $input,
        array_keys($input)
    ));
    

提交回复
热议问题