将整数转换为数组中的字符串

时间:2018-12-02 06:53:06

标签: php

我有一种不寻常的情况,根据active的值为0或1导致无效的JSON被解释为客户端。如何在数组中将有效值从int更改为字符串,以便json_encode有效?还是完全其他?看着两个json输出看起来都一样...

Active和ID都是整数。其他所有东西都是字符串。

有趣的是,如果active为1而不是0,则JSON有效并正确显示。

JSON:

[
  {
    "id": 254,
    "name": "Test",
    "company": "Test",
    "email": "Test",
    "phone": "Test",
    "comments": "Test",
    "ticket": "Test",
    "assigned": "",
    "active": 0,
    "date_created": "2018-12-02 00:56:49"
  }
]

代码:

$stmt = $conn->prepare("SELECT id, name, company, email, phone, comments, ticket, assigned, active, date_created FROM tickets_info");
$stmt->execute();

$result = $stmt->get_result();
$result_array = array();

while ($row = $result->fetch_assoc()) {
    array_push($result_array, $row);
}

header("Content-Type: application/json"); 

echo json_encode($result_array);

1 个答案:

答案 0 :(得分:2)

作为您需要将int强制转换为字符串的问题

铸造它很容易

DatePickerAndroid

铸造非常容易更改数据类型

我们可以在PHP中强制转换以下数据类型变量

while ($row = $result->fetch_assoc()) { $row['id'] = (string) $row['id'] ; $row['active'] = (string) $row['active'] ; array_push($result_array, $row) ; } -投射到(int), (integer)

integer-投射到(bool), (boolean)

boolean-投射到(float), (double), (real)

float-投射到(string)

string-投射到(array)

array-投射到(object)

object-强制转换为(unset)(PHP 5)

引用https://www.greycampus.com/codelabs/php/type-casting