我明白了:
$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”将替换为将由我的sql查询初始化的php字符串的值
我已经尝试使用来解决问题
'name' => '" .$row->TCI_LIBELLE."'
但这不起作用
如何将字符串值(或其他类型)传递给JSON数组?
我正在使用PHP和JSON从MySQL向Android应用发送值。
答案 0 :(得分:0)
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'
...
]
答案 1 :(得分:0)
最后这就是要做的事情
$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);