将php数组转换为json格式?

时间:2019-01-31 15:59:37

标签: php

我有数组:

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"}]

2 个答案:

答案 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);

演示https://3v4l.org/siG6Y

使用array_map()

的简便方法
$result = array_map('current', $array); 
echo json_encode($result);

演示: https://3v4l.org/qmkUQ

如果(PHP 5> = 5.5.0,PHP 7)

,则使用array_column()
$result = array_column($array,'name');     
echo json_encode($result);

演示: https://3v4l.org/7iJ80