我有这个SQL查询来获取所有用户注册的设备令牌:
select distinct device_token
from users
where device_token is not null
这将返回一个数组:
[
{ "device_token": "LONG SRING 1" },
{ "device_token": "LONG SRING 2" },
{ "device_token": "LONG SRING 3" }
]
如何让这个回复看起来像这样?
[
"LONG SRING 1",
"LONG SRING 2",
"LONG SRING 3"
]
我打印出这样的数组只是为了比较:
print_r($response);
print_r(array_values($response));
打印:
Array
(
[0] => Array
(
[device_token] => LONG STRING 1
)
[1] => Array
(
[device_token] => LONG STRING 2
)
[2] => Array
(
[device_token] => LONG STRING 3
)
)
Array
(
[0] => Array
(
[device_token] => LONG STRING 1
)
[1] => Array
(
[device_token] => LONG STRING 2
)
[2] => Array
(
[device_token] => LONG STRING 3
)
)
array_values()不会改变任何东西:(
答案 0 :(得分:3)
使用array_value仅从关联数组中获取值
array_values($array);
答案 1 :(得分:0)
您可以使用循环手动完成..
$json = '[{"device_token":"LONG SRING 1"},{"device_token":"LONG SRING 2"},{"device_token":"LONG SRING 3"}]';
$json = json_decode($json, true);
$result = array();
foreach($json as $row){
$result[] = $row['device_token'];
}
echo json_encode($result);
现在你将以这种格式得到答复......
["LONG SRING 1","LONG SRING 2","LONG SRING 3"]
答案 2 :(得分:0)
我最终这样做了:
if (PF::is_multi($token)) {
$temp = [];
foreach (array_values($token) as $value)
array_push($temp, array_values($value)[0]);
$token = $temp;
}