Имею такой PHP код:
$goodname = 'name';
$goodlvl = '6';
$name = "goods.json";
$arr = array(
'name' => $goodname,
'lvl' => $goodlvl
);
file_put_contents($name, json_encode($arr, JSON_UNESCAPED_UNICODE));
Он создает массив PHP, преобразует в формат JSON и пихает в goods.json
Вроде всё работает, но не так как мне надо. Вот что этот скрипт делает с файлом goods.json
:
{"name":"123","lvl":"6"}
Он переносит элементы массива. Хочу узнать, как заставить PHP скрипт давать этому массиву название, чтобы получилось что-то вроде этого
{
"account" : {
"name: "123", "lvl" : "6"
}
}
Всё для того чтобы потом можно было создавать эти аккаунты и указывать (вбивать в input'ы) статистику: имя и уровень, а PHP скрипт их создавал и заносил в goods.json
Дайте массиву имя, и оно поместится в json $goodname = 'name'; $goodlvl = '6';
$name = "goods.json";
$arr = array(
"player" => array (
'name' => $goodname,
'lvl' => $goodlvl
)
);
echo json_encode($arr, JSON_UNESCAPED_UNICODE);
Выведет: {"player":{"name":"name","lvl":"6"}}
Чтоб получить из вашего кода такой json текс:
{
"account" : {
"name: "123", "lvl" : "6"
}
}
Ваш код должен иметь следующий вид:
$goodname = '123';
$goodlvl = '6';
$name = "goods.json";
$arr = array(
'name' => $goodname,
'lvl' => $goodlvl
);
//тут ваш массив кладем в массив другой массив
$account_array = array(
'account' => $arr
);
//заметьте тут поменялся массив источник вместо $arr мы кодируем в json $account_array
file_put_contents($name, json_encode($account_array, JSON_UNESCAPED_UNICODE));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
"-----Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\Abyss Web Server\htdocs\indexphp on line 44-----"
Catchable fatal error: Argument 1 passed to RedBeanPHP\Util\DispenseHelper::dispense() must be an instance of RedBeanPHP\OODB, null given