#php #arrays #json #object
#php #массивы #json #объект
Вопрос:
Я хочу записать данные в файл json, используя PHP
приведенный ниже пример, но он всегда добавляет данные вне квадратных скобок (массивы).
Как я могу написать внутри квадратных скобок? Спасибо за вашу помощь!
Ответ №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);
...
Комментарии:
1. Большое тебе спасибо, брат. 🙂
2. @GopalMeena — Добро пожаловать! Если этот пост помог вам — вы можете пометить его как принятый, чтобы другие могли его использовать (серая метка «v» слева от ответа)
3. Спасибо, брат! Но этот код добавляет данные в конец файла json, как добавить новые данные в начало (начало) файла json, как в вопросе, который я задал.
4. @GopalMeena Отредактировано с добавлением данных в начале
5. К сожалению, брат, но он не добавляет никаких новых данных в файл 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;
Комментарии:
1. Спасибо, брат! Но этот код добавляет данные в конец файла json, как добавить новые данные в начало (начало) файла json