如何将sql结果中的特定列保存到JSON数组中?

时间:2019-06-09 15:56:55

标签: php json

我正在执行一个SQL查询,结果得到行数:

$sql = "SELECT id, name, age FROM users";
$stmt = $conn->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

但是出于某种目的,我只需要将id列保存为JSON数组(包含结果的所有id),因此最后我应该有一个$idJsonArray变量,它将包含所有ID的格式如下:{11, 15, 74, 100}(假设查询返回了包含ID 11、15、74和100的4行)

1 个答案:

答案 0 :(得分:0)

您可以使用array_column()提取id列,然后仅提取json_encode()的结果...

$jsonIDs = json_encode(array_column($result, "id"));

会给...

[11, 15, 74, 100]

(由于它是一个数组,它将位于[]中,而不是{}中)

如果需要将其作为对象输出,则将JSON_FORCE_OBJECT添加到编码中...

$jsonIDs = json_encode(array_column($result, "id"), JSON_FORCE_OBJECT);