php - 我的 php 文件的 json 结果包含整数,但我需要所有值作为字符串

标签 php mysql json

我在 php 文件中从 mysqlquery 得到的 json 结果看起来像这样:[{"ID":1,"comment":"Hello"},{"ID":2,"comment": “第二个你好”}] 出于我的目的,我还需要 ID 作为字符串。 我不能/不想更改数据库中的数据类型。 我必须在我的 php 文件或 Sql 查询中更改什么才能将 ID 获取为字符串。

 <?php
     $host = '';
     $db   = '';
     $user = '';
     $pass = '';
     $charset = 'utf8mb4';

     $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
     $opt = [
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES   => false,
     ];
     $pdo = new PDO($dsn, $user, $pass, $opt);


     $sql= SELECT * FROM orders

     $resultArray = array();
     $tempArray = array();
     foreach ($pdo->query($sql) as $row) {
        $tempArray = $row;
        array_push($resultArray, $tempArray);
      }
     echo json_encode($resultArray);
    ?>`

最佳答案

您可以确保添加的每一行都使用 strval...

进行转换
 foreach ($pdo->query($sql) as $row) {
    $tempArray = array_map('strval', $row);    // Convert all columns to strings
    array_push($resultArray, $tempArray);
  }

添加开销,因为它应用于所有列,但它会逐列处理(尤其是当 SQL 更改时)保存

关于php - 我的 php 文件的 json 结果包含整数,但我需要所有值作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47954123/

相关文章:

php - MySQL 查询获取第一列数据 & MySQL 查询获取重复数据

mysql - 我可以在给定的 SQL 查询中使用 where 子句而不是 AND 吗?如果是,两者有什么区别?

php - 如何从 MYSQL 中的 COUNT(*) ORDER BY 语句打印数组的内容

javascript - 在一个脚本中自动刷新和自动上下滚动

php - 为什么 jquery 无法使用 codeigniter 正确发布?

sql - 在 postgres 中更新 jsonb 对象

ios - 序列化包含转义(反斜杠和双引号)的 JSON 字符串 Swift 返回格式错误的对象

php - 用于捕获最小组的正则表达式

php - 谷歌地图,PHP

python - 删除新换行