【问题标题】:How to edit json file with php如何用php编辑json文件
【发布时间】:2019-04-16 22:28:05
【问题描述】:

我想使用PHP 将数据写入 json 文件中,如下例所示,但它总是在方括号(数组)之外添加数据。

如何在方括号内书写? 感谢您的帮助!

【问题讨论】:

    标签: php arrays json object


    【解决方案1】:

    你很亲密。修改你的代码如下:

    $current_data = file_get_contents('users.json'); 
    $array_data = json_decode($current_data, true);
    
    $array_data["users"][] = array (          //   -> this line has been changed
             'name'        =>     $_POST["name"],  
             'mobile'      =>     $_POST["mobile"],  
             'datedon'     =>     $_POST["datedon"]  
              );
    
    $final_data  = json_encode($array_data);  
    ...
    

    已编辑:

    如果要将项目添加到数组的开头,请使用 array-unshift:

    ...
    $array_data = json_decode($current_data, true);
    $item = array ( 
             'name'        =>     $_POST["name"],  
             'mobile'      =>     $_POST["mobile"],  
             'datedon'     =>     $_POST["datedon"]  
              );
    array_unshift($array_data["users"] , $item);
    $final_data  = json_encode($array_data);  
    ...
    

    【讨论】:

    • 非常感谢兄弟。 :)
    • @GopalMeena - 欢迎您!如果这篇文章对您有帮助 - 您可以将其标记为已接受,以便其他人可以使用它(答案左侧的灰色“v”标记)
    • 谢谢兄弟!但是这段代码在json文件的末尾添加了数据,如何在json文件的开头(开始)添加新数据,就像我问的问题一样。
    • @GopalMeena 编辑并在开始时添加数据
    • 对不起兄弟,但它没有在json文件中添加任何新数据。
    【解决方案2】:

    解决方案 1

    从此更改您的代码:

    $extra[] = array ( 
             'name'        =>     $_POST["name"],  
             'mobile'      =>     $_POST["mobile"],  
             'datedon'     =>     $_POST["datedon"]  
              );
    
    $array_data[] = $extra;  
    

    所以它看起来像下面这样:

    $array_data['users'][] = array (          
             'name'        =>     $_POST["name"],  
             'mobile'      =>     $_POST["mobile"],  
             'datedon'     =>     $_POST["datedon"]  
              );
    

    解决方案 2

    换行

    $array_data[] = $extra; 
    

    到下面:

    $array_data['users'][] = $extra; 
    

    【讨论】:

    • 谢谢兄弟!但是这段代码在json文件的末尾添加数据,如何在json文件的开头(Start)添加新数据
    猜你喜欢
    • 2021-07-11
    • 1970-01-01
    • 2018-04-19
    • 2016-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多