如何在PHP

时间:2018-04-07 00:27:30

标签: javascript php arrays json ajax

所以我有以下JSON:

[{"username":"User1","password":"Password"},
 {"username":"User5","password":"passWord"},]

生成自:

<?php $username = $_POST["username"]; ?><br>
<?php $password = $_POST["password"]; ?><br>

<?php

    $currentData = file_get_contents('UserJSON.txt');
    $array_data = json_decode($currentData, true);
    $extra = array(
        'username' => $username, 
        'password' => $password
    );
    $array_data[] = $extra;
    $final_data = json_encode($array_data);
    if(file_put_contents('UserJSON.txt',$final_data)) {
        print("working");
    }

?>

用户登录后,他们有能力发帖,我将如何为每个用户创建一个post数组?如何动态添加?

这就是我所拥有的,我尝试了许多不同的方法,但似乎无法弄清楚如何让它变得动态。

<?php
    $urlText = $_REQUEST["urlText"];
    $currentData = file_get_contents('UserJSON.txt');
    $array_data = json_decode($currentData, true);
    //for loop
    $array_data[i]['Posts'] = $urlText;
    //end for loop
    $final_data = json_encode($array_data);
    if(file_put_contents('UserJSON.txt',$final_data)) {
    }
?>

在这种情况下,帖子不是数组,它只是简单地覆盖已有的数据。

 [{"username":"User1","password":"Password","Posts:{"This is a post"}},
{"username":"User5","password":"passWord"},"Posts:{"This is a post2"}}]

因此,如何添加posts数组以及如何动态添加?我很长时间没能想出这么简单的事情

1 个答案:

答案 0 :(得分:0)

文件从“posts / useridhere.txt”或allposts.txt获取内容

您还需要使用唯一的帖子ID。

Json解码你的帖子JSON

将帖子内容添加到数组

Json编码数组

将新json写入用户帖子文件

最终我不推荐这个。如果你想要带薪实习,我会教你如何使用MySQL。我们制作网站:)但是如果你想这样做,你需要一个JSON文件来存储唯一的帖子ID,甚至将所有帖子存储在一个文件中。问题是,您将限制在该单个JSON阵列中可以存储的帖子数量。我希望这个答案足以帮助你。这是所需的所有步骤

$posts = file_get_contents($postsFile);
$posts = json_decode($posts);
$newPost = array(
"user"=>$user,
"postTitle"=>$string,
"text"=>$content
);
$posts[] = $newPost; 
$newPostID = count($posts); // will not work properly (for linking posts) once you delete a post - you need unique post ids generated! 
$posts = json_encode($posts); 
// Overwrite your posts file with $posts. It will have all posts you need :)