PHP MySQL JSON自定义输出

Pin*_*ode 1 php mysql json

我在json方法中从MySQL数据库中检索和打印数据:

$ret = array();

$fileName = Access::FetchDB("SELECT name FROM tags");
    $ret[]= $fileName;
echo json_encode($ret);
Run Code Online (Sandbox Code Playgroud)

现在输出是:

[[{"name":"test1"},{"name":"test2"},{"name":"test3"}]]
Run Code Online (Sandbox Code Playgroud)

但我需要这个输出:

["test1","test2","test3"]
Run Code Online (Sandbox Code Playgroud)

我该如何打印?

Jus*_*man 5

[[{"name":"test1"},{"name":"test2"},{"name":"test3"}]]
Run Code Online (Sandbox Code Playgroud)

就像这样

array(array(array('name' => 'test1'), array('name' => 'test2'), array('name' => 'test3')));
Run Code Online (Sandbox Code Playgroud)

首先,要这样做:

$ret[]= $fileName;
Run Code Online (Sandbox Code Playgroud)

并且只保留$fileName应该是这样的东西:

array(array('name' => 'test1'), array('name' => 'test2'), array('name' => 'test3'));
Run Code Online (Sandbox Code Playgroud)

更好的是在array('test1', 'test2', 'test3')没有array_values()的情况下对其进行编码.你可以在PHP端做到这一点:

$ret = array();
$fileName = Access::FetchDB("SELECT name FROM tags");

foreach($fileName as $key => $value)
   $ret[] = $value['name'];

echo json_encode($ret);
Run Code Online (Sandbox Code Playgroud)