将 PHP 字符串值添加到 JSON 数组

我懂了:


$arr = json_decode($arr, TRUE);

while($row){

    // $arr[] = ['id' => '8', 'name' => 'mickey'];

    $test = $row->TCI_LIBELLE;

    $arr[] = ['id' => $row->TCI_ID, 'name' => $row->TCI_LIBELLE];

    $i +=1;

    $row = $reqCentreInteret->fetch(PDO::FETCH_OBJ);

    $json = json_encode($arr);

如果您不明白,我正在尝试将从 Select SQL 查询中获得的值放入 JSON 数组中。问题是它不像我想要的那样工作。确实它适用于我的 id,因为在我的数据库中它是一个 int 值,但它不适用于名称,因为它是一个 varchar 值


这就是我想要获得的:


[{"id":"8","name":"mickey"},{"id":"8","name":"mickey"}]

这里的 'mickey' 将被我的 php 字符串的值替换,该字符串将由我的 sql 查询初始化


我已经尝试使用解决我的问题


'name' => '" .$row->TCI_LIBELLE."' 

但它不起作用


如何将字符串值(或其他类型)传递给我的 JSON 数组?


我正在使用 PHP 和 JSON 将值从 MySQL 发送到 Android 应用程序。


Smart猫小萌
浏览 127回答 2
2回答

人到中年有点甜

最后这是必须做的$stmt = $db->query("SELECT TCI_ID AS id, TCI_LIBELLE AS nom FROM OSO_DEV.T_CENTRE_INTERET");echo json_encode($stmt->fetchAll(PDO:: FETCH_ASSOC),JSON_UNESCAPED_UNICODE);

DIEA

arr[] = 向数组添加一个新行,即一个新的顶级元素。您可能希望将数据添加到现有元素假设您的 arr 最初类似于[ 'property1' => 'value1',  'property2' => 'value2' ...]当你在做 arr[] = ['id'=> 8,'name' => 'mickey']您的数组现在将包含 2 个顶级元素,看起来像  [[ 'property1' => 'value1',    'property2' => 'value2'    ...   ],   [ 'id'   => 8,     'name' => 'mickey'   ]  ]你可能想这样做 arr['id'] = $row->TCI_ID; arr['name'] =  $row->TCI_LIBELLE;那么您的 arr 将如下所示:  [ 'property1' => 'value1',    'property2' => 'value2'    'id'        => 8    'name'      => 'mickey'    ...  ]
打开App,查看更多内容
随时随地看视频慕课网APP