Imploding an associative array in PHP

后端 未结 7 766
攒了一身酷
攒了一身酷 2020-12-08 19:44

Say I have an array:

$array = Array(
  \'foo\' => 5,
  \'bar\' => 12,
  \'baz\' => 8
);

And I\'d like to print a line of text in m

7条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-08 20:21

    The problem with array_map is that the callback function does not accept the key as an argument. You could write your own function to fill the gap here:

    function array_map_assoc( $callback , $array ){
      $r = array();
      foreach ($array as $key=>$value)
        $r[$key] = $callback($key,$value);
      return $r;
    }
    

    Now you can do that:

    echo implode(',',array_map_assoc(function($k,$v){return "$k ($v)";},$array));
    

提交回复
热议问题