当我尝试添加 JSON 数组时,它会删除以前的数组.(菲律宾比索)


When i try to add a JSON Array, it removes the previous array. (PHP)

编辑:我正在尝试将 2 个数组合并在一起,说我想向 json 数据添加一个新数组,而不删除值中已有的 json 数据。

例:$chatjson = [] 包含一些 JSON 数据,如下所示:

$chatjson = [{"sender":"Testing","message":"Hi"}] 

我想在添加另一个数组时保留该数据,使其看起来像这样

$chatjson = [{"sender":"Testing","message":"Hi"},{"sender":"Testing","message":"Message 2!"}]

应该支持我的问题。

<?php 
  include '../filter.php';
  $chatjson = [];
  $sender = SecurePost($_POST["sender"]);
  $message = SecurePost($_POST["message"]);
  if ($sender || $message) {
      $chatarray = array('sender' => $sender, 'message' => $message);
      $decodejson = json_decode($chatjson, true);
      $merge = array_merge((array)$chatarray, (array)$decodejson);
      $chatjson = json_encode($merge);
      echo $chatjson;
  }
?>

你需要稍微改变你的代码:-

<?php 
  include '../filter.php';
  $chatjson = Array(); // define array like this
  $sender = SecurePost($_POST["sender"]);
  $message = SecurePost($_POST["message"]);
  if ($sender || $message) {
      $chatarray[] = array('sender' => $sender, 'message' => $message); // assign values every time to a new index.
      $decodejson = json_decode($chatjson, true);
      $merge = array_merge((array)$chatarray, (array)$decodejson); // push the new data
      $chatjson = json_encode($merge);
      echo $chatjson;
  }
?>