Php 从json_编码输出中删除索引
我一直在搜索这个网站,为了在不包含索引的情况下打印json编码结果而绞尽脑汁。我没有发现任何有用的东西 下面是从数据库获取数据的PHP/MySQL函数:Php 从json_编码输出中删除索引,php,mysql,arrays,json,Php,Mysql,Arrays,Json,我一直在搜索这个网站,为了在不包含索引的情况下打印json编码结果而绞尽脑汁。我没有发现任何有用的东西 下面是从数据库获取数据的PHP/MySQL函数: public function listGuestsAll() { if(is_null($this->pdo)) { $this->msg = 'Connection Failed!'; return []; } else { $pdo = $this->pdo
public function listGuestsAll() {
if(is_null($this->pdo)) {
$this->msg = 'Connection Failed!';
return [];
} else {
$pdo = $this->pdo;
$stmt = $pdo->prepare('SELECT user_id, name_first, name_last, email_address, user_role FROM guestList');
$stmt->execute();
$result = $stmt->fetchAll();
return $result;
}
}
…这是打印代码:
print_r(json_encode($user->listGuestsAll()));
…以下是输出:
[
{
"user_id":"1",
"0":"1",
"name_first":"John",
"1":"John",
"name_last":"Doe",
"2":"Doe",
"email_address":"john@doe.com",
"3":"john@doe.com",
"user_role":"1",
"4":"1"
},
{
"user_id":"2",
"0":"2",
"name_first":"Jane",
"1":"Jane",
"name_last":"Doe",
"2":"Doe",
"email_address":"jane@doe.com",
"3":"jane@doe.com",
"user_role":"1",
"4":"1"
}]
如果没有索引为0:1、1:John、2:Doe、3:john@doe,4:1,等等
提前谢谢 您正在使用它来获取行:
$result = $stmt->fetchAll();
文档中说,默认的获取模式是PDO::fetch_BOTH
,这意味着返回的结果中包含列名作为键和数字键
您可以指定提取模式。要获取仅由数字键索引的行,请使用:
$result = $stmt->fetchAll(PDO::FETCH_NUM);
要获取仅按列名索引的行,请使用:
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
您还可以全局更改默认值,以便在不指定提取模式时影响所有提取:
$this->pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_NUM);
你应该读到: