欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

一个php数组转字符串的问题

程序员文章站 2022-03-31 13:06:07
...
怎样把以下这样的数组
Array
(
    [0] => Array
        (
            [device_token] => Al9_G0i6ftf7fvkKsGM9o6jN5iyoqt8zTjcsh_kw6HUu
        )

    [1] => Array
        (
            [device_token] => AmfUS3qeXKrJt1K1ZTICiD-ED6a_YgM3GdBRp6gR4RgV
        )

)

封装成

"device_tokens":"device1,device2,…", 
这种形式

回复内容:

怎样把以下这样的数组

Array
(
    [0] => Array
        (
            [device_token] => Al9_G0i6ftf7fvkKsGM9o6jN5iyoqt8zTjcsh_kw6HUu
        )

    [1] => Array
        (
            [device_token] => AmfUS3qeXKrJt1K1ZTICiD-ED6a_YgM3GdBRp6gR4RgV
        )

)

封装成

"device_tokens":"device1,device2,…", 
这种形式

$array = array(
    array(
        'device_token' => 'Al9_G0i6ftf7fvkKsGM9o6jN5iyoqt8zTjcsh_kw6HUu'
    ),
    array(
        'device_token' => 'AmfUS3qeXKrJt1K1ZTICiD-ED6a_YgM3GdBRp6gR4RgV'
    )
);
$result = [];
array_walk_recursive($array, function ($value, $key) use (&$result) {
    $result[$key][] = $value;
});
foreach ($result as $key => $value) {
    $result[$key] = implode($value, ',');
}
$result = json_encode($result);
// 如果你确定你不是想要json格式的话就保留下面
$result = substr($result, 1, -1);

//php5.5

$array = array(
    array(
        'device_token' => 'Al9_G0i6ftf7fvkKsGM9o6jN5iyoqt8zTjcsh_kw6HUu'
    ),
    array(
        'device_token' => 'AmfUS3qeXKrJt1K1ZTICiD-ED6a_YgM3GdBRp6gR4RgV'
    )
);
 //如果字段不固定的话参考楼上
$result = array_column($array,'device_token');

json_encode(array) JSON

$out=['devices'=>''];
array_map(function($arr) use (&$out){
  $value=array_values($arr)[0];
  $out['devices'].=($out['devices'])?',':'';
  $out['devices'].=$value;
     
},$array);

print_r($out);

Array
(

[devices] => Al9_G0i6ftf7fvkKsGM9o6jN5iyoqt8zTjcsh_kw6HUu,AmfUS3qeXKrJt1K1ZTICiD-ED6a_YgM3GdBRp6gR4RgV

)