PHP将NULL写入JSON文件

斯塔凡·埃斯特伯格

我已经看到了与此问题类似的帖子,但似乎无法弄清楚。我有一个小的PHP脚本,可以将表单输入读取和写入JSON文件,如下所示–

  $file = 'data.json';

  $arr_data = array();

  $formdata = array(
        'name' => strip_tags( trim($_POST['formName']) ),
        'email' => $email,
        'phone' => strip_tags( trim($_POST['formPhone']) ),
        'message' => strip_tags( trim($_POST['formMessage']) )
        // also tested this just using reg strings
  );

  $jsondata = file_get_contents($file);

  //var_dump($jsondata); returns whatever string content is in the file, so seems to work

  $arr_data = json_decode($jsondata, true);

  array_push($arr_data, $formdata);

  //var_dump($arr_data); returns NULL, not sure what happens here

  $jsondata = json_encode($arr_data, JSON_PRETTY_PRINT);

  file_put_contents($file, $jsondata);

有任何想法吗?使用PHP 5.5.9,检查文件是否可写。这两个文件都具有UTF8编码。

菲尔

json_decode()NULL如果输入为空,将返回尝试此操作以确保您$arr_data是一个数组...

$arr_data = json_decode($jsondata, true);
if ($arr_data === null) {
    $arr_data = [];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章