How to implode subarrays in a 2-dimensional array?

前端 未结 3 1032
时光说笑
时光说笑 2020-12-06 23:56

I want to implode values in to a comma-separated string if they are an array:

I have the following array:

$my_array = [
    \"keywords\" => \"test         


        
3条回答
  •  無奈伤痛
    2020-12-07 00:24

    Just append values to new array:

    $my_array = [
       "keywords" => "test",
       "locationId" => [ 0 => "1", 1 => "2"],
       "industries" => "1",
    ];
    $new_Array = [];
    foreach ($my_array as $value) {
        $new_Array[] = is_array($value) ? implode(",", $value) : $value;
    }
    print_r($new_Array);
    

    And something that can be called a "one-liner"

    $new_Array = array_reduce($my_array, function($t, $v) { $t[] = is_array($v) ? implode(",", $v) : $v; return $t; }, []);
    

    Now compare both solutions and tell which is more readable.

提交回复
热议问题