Настройка PHP, Ошибка с массивами

player

Новичок
Настройка PHP, Ошибка с массивами

Добрый день!

Странная проблема, установил XAMPP, до этого ставил апач и рнр сам.
Теперь к примеру возникла проблема с массивами:

PHP:
$lang['name']="Name";
 $lang['account_number']="Kontonummer";
 $lang['bankcode']="BLZ"; 
$lang['bank']="Kreditinstitut";  
$lang['donation_thanks']="Vielen Dank für Ihre Spende!"; 
$lang['invalid_input']="Es wurde eine fehlerhafte Angabe gemacht.";  

echo $lang['name']."//"; 
print_r($lang);
Результат: "E//Ee" то есть берется первая буква из $lang['invalid_input']

Если поставить контрольный вывод после
$lang['bank']="Kreditinstitut"; то получается "K//Ke"

То ли я за две недели разучился программить то ли не замечаю чегото.. Вобщем бред какойто. Помогите плиз
 

Ewg

Новичок
Name//Array
(
[name] => Name
[account_number] => Kontonummer
[bankcode] => BLZ
[bank] => Kreditinstitut
[donation_thanks] => Vielen Dank für Ihre Spende!
[invalid_input] => Es wurde eine fehlerhafte Angabe gemacht.
)
Попробуйте var_dump и/или убрать символ 252
 

player

Новичок
Автор оригинала: Ewg
Name//Array
(
[name] => Name
[account_number] => Kontonummer
[bankcode] => BLZ
[bank] => Kreditinstitut
[donation_thanks] => Vielen Dank für Ihre Spende!
[invalid_input] => Es wurde eine fehlerhafte Angabe gemacht.
)
Попробуйте var_dump и/или убрать символ 252
var_dump($lang) выдает string(2) "Ee"
 

player

Новичок
Проблема решена!

var_dump у меня был не перед присвоением, но теперь я нашел проблему. До этого $lang был использован в другом месте, но не как массив а как стринг. Странно что рнр этого не стал терпеть - это не нововведение рнр 5.3?
Возникает вопрос как избегать таких ситуации в будущем, или если у меня несколько файлов языковых которые друг за другом инклюдятся, я же не могу (как сейчас) везде писать $lang = array();
 

Фанат

oncle terrible
Команда форума
С какой это стати не можешь?
Все могут, а ты чем такой особенный?
 

fixxxer

К.О.
Партнер клуба
Видимо, хочется строить массив из кусков, разнесенных по файлам.

Тут например можно сделать иначе:

$lang = array();
$lang += include 'lang/1.php';
$lang += include 'lang/2.php';
...

а в php файлах писать просто <?php return array( ... ) ?>

это гораздо устойчивее к таким ошибкам, и не привязывает к имени переменной.
 

player

Новичок
спасибо, именно это и хотел узнать.

Всем спасибо за ответы
 

Фанат

oncle terrible
Команда форума
ну, тем не менее, никаких проблем не будет, даже если просто написать
$lang = array();
include 'lang/1.php';
include 'lang/2.php';
 
Сверху