【问题标题】:PHP json_encode array(3) return falsePHP json_encode 数组(3) 返回 false
【发布时间】:2015-06-03 10:25:49
【问题描述】:

我有一个返回multidimensional arraymysqli 查询。

我正在尝试对 php 数组进行编码:

array(3) {
  [0]=>
  array(8) {
    ["cod_evento"]=>
    string(1) "3"
    ["titulo"]=>
    string(20) "Fiesta de cumpleaños"
    ["descripcion"]=>
    string(23) "Mi fiesta de cumpleaños"
    ["puntuacion"]=>
    string(1) "1"
    ["direccion"]=>
    string(13) "c/ falsa 1234"
    ["imagen"]=>
    string(115) "http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2014/4/11/1397210130748/Spring-Lamb.-Image-shot-2-011.jpg"
    ["fecha"]=>
    string(19) "2015-01-01 00:00:00"
    ["cod_usuario"]=>
    string(1) "1"
  }

  [....]
}

但是当我尝试json_encode($array) 时,它返回bool(false)

当我尝试对数组 (2) 或 (1) 进行编码时,它会起作用。

【问题讨论】:

  • 我没有发现任何问题。它应该可以正常工作。你能发布更多代码吗?
  • 在编码失败的情况下,json_last_error() 可用于确定错误的确切性质......那么您是否尝试过检查该错误是什么?
  • 谢谢,json_last_error() 返回 JSON_ERROR_UTF8。一个字符串包含一个ñ。
  • 如何在编码中包含这个字符

标签: php arrays json encode


【解决方案1】:

来自文档

http://php.net/manual/en/function.json-encode.php

成功时返回 JSON 编码字符串,失败时返回 FALSE。

查看失败原因

http://php.net/manual/en/function.json-last-error-msg.php

回答cmets中的问题

json_encode produce JSON_ERROR_UTF8 from MSSQL-SELECT

【讨论】:

    【解决方案2】:

    发生错误是因为您的数组包含非 Unicode 字符。

    【讨论】:

      猜你喜欢
      • 2013-10-26
      • 1970-01-01
      • 2016-06-02
      • 2017-03-20
      • 1970-01-01
      • 2017-08-23
      • 1970-01-01
      • 2016-02-24
      • 2017-02-21
      相关资源
      最近更新 更多