在 PHP 中删除 json 数组中的键



>我有这个

[{"cname":"NCPB"},{"cname":"NBK"}]

我从json_encode那里得到的

在 MySQL 结果上

我怎样才能从上面的 JSON 对象实现这个["NCPB","NBK"]

我想我可以在不看到您的确切代码的情况下回答这个问题。基本上,您当前正在使用类似以下内容获取查询结果,并对其结果使用json_encode

while ($row = $query->some_fetch_method()) {
$results[] = $row;               // you're building an array of associative arrays
}
echo json_encode($results);

相反,只需用该特定列而不是整行填充结果数组。

while ($row = $query->some_fetch_method()) {
$results[] = $row['cname'];      // you need to build an array of strings instead
}
echo json_encode($results);

在使用json_encode之前,应将查询结果数组转换为所需的格式。否则,您必须解码刚刚创建的 JSON 字符串,重新格式化其结果,然后重新编码:

$json = json_encode(array_column(json_decode($json), 'cname'));

或者使用一些奇怪的正则表达式或其他东西。但是,撤消您已经完成的操作似乎没有意义。

如果您不明白我的意思,请编辑您的问题以添加获取查询结果的代码,我将根据您的确切代码向您展示一个示例,但这应该会给您大致的想法。

最新更新