【问题标题】:multidimensional array to JSON return NULL in PHP多维数组到 JSON 在 PHP 中返回 NULL
【发布时间】:2015-01-19 09:09:00
【问题描述】:

我有一个数组,我想将它转换为 json,但它为一个字段返回 null, 这是我的数组:

 [workname] => IŞIKLAR MÜHENDİSLİK
 [workno] => 22330
 [workdate] => Array
    (
     [0] => Array
        (
         [date] => 
         [type] => ELEKTRİK
        )

     [1] => Array
        (
         [date] => 31.12.2007
         [type] => ELEKTRİK
        )
    )

当我将其转换为 json 时,我将 workdate 元素设为 null。

{"workname":"IŞIKLAR MÜHENDİSLİK","workno":"22330","workdate":null}

【问题讨论】:

  • 我发现,这是因为我使用了带有 htmlentities 回调的 array_map 函数。我必须将它用于非英语字符
  • 提供以下回调:function($v){return htmlentities($v,ENT_DISALLOWED,'<your file encoding>');},您的问题可能会得到解决。您可以使用 Notepad++ 或(如果您在 linux 上)使用 geany 或类似工具轻松找到您的编码(Sublime 2 对编码不太好)。

标签: php arrays json multidimensional-array


【解决方案1】:
 $arr = array('workname' => 'IŞIKLAR MÜHENDİSLİK','workno' => 22330,'workdate' => array('0' => array('date' => '','type' => 'ELEKTRİK'),'1' => array('date' => '31.12.2007','type' => 'ELEKTRİK')));

echo json_encode($arr);

输出

{"workname":"I\u015eIKLAR M\u00dcHEND\u0130SL\u0130K","workno":22330,"workdate":[{"date":"","type":"ELEKTR\u0130K"},{"date":"31.12.2007","type":"ELEKTR\u0130K"}]}

你可以在这里查看http://sandbox.onlinephpfunctions.com/code/68c91d260a0a18d584dab871f56dd7c97482ca04

【讨论】:

    【解决方案2】:
    $arr=array(
        'workname' => 'IŞIKLAR MÜHENDİSLİK',
        'workno' => 22330,
        'workdate' => Array (
            Array (
                'date' => '',
                'type' => 'ELEKTRİK'
           ), 
           Array(
               'date' => '31.12.2007',
               'type' => 'ELEKTRİK'
           )
        )
    );    
    echo json_encode($arr);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 1970-01-01
      • 2015-01-21
      • 2016-04-09
      • 2014-10-20
      相关资源
      最近更新 更多