我有数组:
Array ( [0] => Array ( [name] => tag 1 ) [1] => Array ( [name] => tag 2 ) [2] => Array ( [name] => tag 3 ) )
我需要将其转换为JSON:
["tag 1", "tag 2", "tag 3"]
我该怎么办?
我正在尝试:
echo json_encode($array);
但是我有结果错误格式:
[{"name":"tag 1"},{"name":"tag 2"},{"name":"tag 3"}]
答案 0 :(得分:1)
您有一个多维数组。首先将name
列从其中提取为一个维度:
echo json_encode(array_column($array, 'name'));
或者对于PHP <5.5.0:
echo json_encode(array_map(function($v) { return $v['name']; }, $array));
答案 1 :(得分:0)
这种方式如何?
简单的foreach()
<?php
$array=array ( array ('name' => 'tag 1' ),array ( 'name' => 'tag 2'),array('name' => 'tag 3' )
);
$result = [];
foreach($array as $key=>$value){
$result[] = $value['name'];
}
echo json_encode($result);
使用array_map()
$result = array_map('current', $array);
echo json_encode($result);
如果(PHP 5> = 5.5.0,PHP 7)
,则使用array_column()
$result = array_column($array,'name');
echo json_encode($result);