AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"

Что неверно в запаси в json?

Делаю вот такую запись
$jsonFileUser[$_SESSION['email']]["orders"] = $content;
    $contentJson = json_encode($jsonFileUser);
    file_put_contents($fileUser,$contentJson);

Он удаляет все данные из json с $_SESSION['email']["orders"] и записывает content, мне же нужно что бы он добавлял к тем записям content. Что неверно?

$content = [
            rand_check($rand_id, $jsonFileUser) => [
                "id" => rand_check($rand_id, $jsonFileUser),
                "date" => date("d.m.y"),
                "order_id" => "1",
                "step" => "2",
                "inquiry" => [
                    "object_address" => $_GET['adress'],
                    "cad_number" => $_GET['cdn'],
                    "floors" => $_GET['floors'],
                ]
            ]
        ];
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
dollar
@dollar
Делай добро и бросай его в воду.
Мало информации.
Не ясно, какая структура у $jsonFileUser.
И не ясно, что возвращает rand_check($rand_id, $jsonFileUser).
Также термин "добавлять" можно трактовать по-разному.

Но попробую применить телепатические способности. Если orders массив:
$jsonFileUser[$_SESSION['email']]["orders"][] = $content;


Однако, скорее всего, orders у вас - это ассоциативный массив. Тогда сложнее. Надо извлечь ключ из $content и использовать для индексации:
$jsonFileUser[$_SESSION['email']]["orders"][array_keys($content)[0]]=$content;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
kawabanga
@kawabanga
$jsonFileUser[$_SESSION['email']]["orders"] .= $content;
Ответ написан
tregor
@tregor
Senior PHP Backend developer
$resArr = $jsonFileUser[$_SESSION['email']]["orders"];
$resArr = array_merge($resArr, $content);


Возможно вы ищете это решение, но опять же мало входных данных, в каком формате об массива, что именно и как "добавлял" и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы