Я объединяю две разные версии массива переводов. Более свежая версия имеет много изменений, более нескольких тысяч строк кода.
Для этого я загрузил и оценил новый файл (который использует ту же структуру и имена ключей), затем загрузил и оценил более старую версию, переписав новые непереведенные значения в массиве значениями, которые мы уже перевели.
Пока все хорошо!
Тем не менее, я хочу иметь возможность отобразить конструктор для этого нового объединенного массива, чтобы я мог вырезать и вставить его в новый файл перевода и выполнить работу (кроме завершения остальных переводов ..).
Код выглядит следующим образом (множество разных ключей, а не только индекс):
$lang["index"]["chart1_label1"] = "Subscribed";
$lang["index"]["chart1_label2"] = "Unsubscribed";
И старый ..
$lang["index"]["chart1_label1"] = "Subscrito";
$lang["index"]["chart1_label2"] = "Não subscrito";
После загрузки двух файлов я получаю объединенный массив $ lang, который затем хочу отобразить в той же форме, чтобы он мог использоваться проектом.
Однако, когда я делаю что-то подобное ..
foreach ($lang as $key => $value) {
if (is_array($value)) {
foreach ($value as $key2 => $value2) {
echo "$lang['".$key."']"; // ... etc etc
}
}
}
.. очевидно я получаю "ArrayIndex" и т. Д. Вместо "$ lang". Как вывести $ lang без его оценки? Как только это сработает, можете добавить остальные скобки и т. Д. (Я понимаю, что они отсутствуют), но просто хочу сначала заставить эту часть работать.
Если есть лучший способ сделать это, все уши тоже!
Спасибо.
редактирование:
Что я действительно искал, так это это :
"Примечание. В отличие от трех других синтаксисов, переменные и escape-последовательности для специальных символов не будут расширяться, если они встречаются в одиночных кавычках ."
Так что не нужно даже бежать. Может быть, однажды пригодится кому-то ... насчет слияния массивов, на странице руководства PHP есть функция рекурсивного слияния массивов для array_merge (), которая также пригодилась.
Спасибо всем, кто проголосовал! Люблю тебя тоже.