PDO:为FETCH_ASSOCC结果中的每个项设置自定义键

Lee*_*ley 1 php pdo

我从表中获取几列并将其作为json返回,我想在将关键数组发送回客户端之前添加一个键.

我在get函数中这样做:

$stmt = $app->pdo->prepare("SELECT col1, col2, col3 FROM item_rnw");
$stmt->execute();

$rnws = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach($rnws as $rnw) {
    $rnw["icon"] = "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=•|000000";
}

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

然而,在客户端上记录响应只显示col1,col2,col3键+值对,没有图标键+值.

PDO的新手,有谁能指出我做错了什么?

干杯

Phi*_*hil 6

问题是你没有操作数组中的项目.试试这个......

foreach($rnsw as &$rnw)
Run Code Online (Sandbox Code Playgroud)


Abr*_*ver 6

你也可以这样做,保存循环:

$icon = "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=•|000000";
$stmt = $app->pdo->prepare("SELECT col1, col2, col3, '$icon' as icon FROM item_rnw");
Run Code Online (Sandbox Code Playgroud)