【问题标题】:json_encode array with special character带有特殊字符的 json_encode 数组
【发布时间】:2015-07-08 10:01:01
【问题描述】:

我有这个数组

array (size=3)
  0 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=3)
      'street' => string 'José Ellauri' (length=12)
  1 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=4)
      'street' => string 'Francisco Solano García' (length=23)
  2 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=3)
      'street' => string 'Ingeniero Carlos María Maggiolo' (length=31)

我正在尝试json_encode 该数组,但由于有特殊字符,我发现我需要$toReturn = array_map('utf8_encode', $toReturn); 但我收到错误消息。我的代码如下。

$toReturn = array_map('utf8_encode', $toReturn);
echo json_encode($toReturn);

我的页面出现此错误。

( ! ) 警告:utf8_encode() 期望参数 1 为字符串、数组 在第 39 行的 C:\wamp\www\resh\backend.php 中给出

【问题讨论】:

    标签: javascript php arrays json


    【解决方案1】:

    这是发生的,因为array_map() 将传递包含数组的数据。试试 -

    $toReturn = array_map('encode_all_strings', $toReturn);
    
    function encode_all_strings($arr) {
        foreach($arr as $key => $value) {
            $arr[$key] = utf8_encode($value);
        }
        return $arr;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-08
      • 2017-02-27
      • 2018-07-16
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      相关资源
      最近更新 更多