gpt4 book ai didi

php - 统一数组进行 JSON 编码?

转载 作者:行者123 更新时间:2023-11-29 08:30:15 25 4
gpt4 key购买 nike

我正在尝试对我返回的数组进行 json_encode,以便我可以将其放置在数据源的 jQuery 插件中。我的问题是,我正在使用 PDO 查询数据库以获取数组,但是在执行 print_r 后,我发现从数据库返回的每个名称都在其自己的数组中。我如何将所有这些结果放入一个数组中,以便当我执行 json_encode 时,它​​全部位于 jQuery 插件的一个可读字符串中?

数据库查询 (PDO) -

$query = "
SELECT name
FROM `clients`
";
try
{
$stmt = $b3->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$players = $stmt->fetchAll();

执行时返回的数组示例(注意,我返回了 8000 个,因此我只会发布前 5 个左右)

print_r($players);

Array
(

[0] => Array
(
[name] => ! CBC.ZXR
)

[1] => Array
(
[name] => ! marioxz
)

[2] => Array
(
[name] => ! V v :]
)

[3] => Array
(
[name] => !?!
)

[4] => Array
(
[name] => !CU @ 1337
)

或多或少,我将如何统一我的数组,以便当我这样做时

json_encode($players["name"]);

它将返回上述名称的单个 JSON 字符串。

编辑

当前代码,

$query = "
SELECT name
FROM `clients`
";
try
{
$stmt = $b3->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$playerNames = $stmt->fetchAll(PDO::FETCH_COLUMN, 0);

json_encode($playerNames);
var_dump(json_last_error());

最佳答案

如果您尝试仅获取包含数据库查询结果第一列的单级数组,请考虑将获取类型传递给 fetchAll 调用:

$playerNames = $sth->fetchAll(PDO::FETCH_COLUMN, 0);

这应该会导致 $playerNames 成为您正在寻找的格式的数组,您可以将其传递给 json_encode 或您想要的任何其他内容。有关获取选项的更多信息,您可以查看 php 文档 ( http://php.net/manual/en/pdostatement.fetchall.php ) 中的示例。

关于php - 统一数组进行 JSON 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16847903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com