Я просто хочу создать языковой файл в json и получить переменные для отображения на моей странице, но я не могу найти способ сделать это.
Чего я хочу достичь (код):
$json = file_get_contents('lang/en.json');
$useLang = json_decode($json);
echo msg($useLang->user->hello, 'rawohah211');
// Hello rawohah211
Мой json прямо сейчас:
{
"user": {
"hello": "Hello {user}"
}
}
Можно ли этого добиться с помощью PHP и json?
msg() — это просто функция php, которая создает p-элемент, чтобы я мог добавить стиль к любому сообщению. Я проверю в str_replace!






Одним из ключевых навыков в программировании является разбиение задачи на более мелкие части. В этом случае вам нужно решить несколько задач:
Номер 1, который вы уже отсортировали - json_decode. По умолчанию он дает вам сочетание объектов и массивов, поэтому в вашем примере строка может быть прочитана и записана как $useLang->user->hello. (Лично я предпочитаю возвращаемую структуру всего массива, если вы используете json_decode($json, true), и в этом случае вместо этого будет $useLang['user']['hello'].)
Номер 2 так же проще - json_encode делает полную противоположность json_decode.
Вы заметите, что номер 3 не упоминает JSON, массивы или объекты — у вас есть строка "Hello {user}", и вы хотите, чтобы она читалась "Hello rawohah211" или что-то подобное. Для этого вам просто нужен str_replace. Если вам нужно сопоставить шаблон (множество похожих строк), посмотрите на preg_replace.
Что такое
msg()? Вы можете использоватьstr_replaceвместо{user}и значение параметра 2..