AlieN RomikChef прав, тут всё упирается именно в отладку.
Прокопался в этом коде где-то минут 20, так и не понял, почему не работает. Скорее, в качестве переменной с именем переменной нельзя использовать массивы вместе с ключами. Но решение есть и оно достаточно очевидное:
eval("fwrite($fp,"$$val1-".$$val1.":::");");Только перед этим выше поменяй
$val1="zrow[stend_".$arr[$i]."r]";и ему подобные на
$val1="zrow[$stend_".$arr[$i]."r]";Поиграйся с этим и настрой, как надо. Просто у себя я тестировал не на fwrite, а на echo. У меня работало так:
eval("echo $val1;");
Выводились значения массива с такими ключами:
$zrow[\'stend_4r\']
$zrow[\'stend_6r\']
$zrow[\'stend_9r\']
$zrow[\'stend_12r\']
$zrow[\'stend_18r\']
$zrow[\'stend_24r\']
$zrow[\'stend_36r\']
С eval() главное не запутаться в эскейпинге спецсимволов!
PS: Правильнее будет обозначать ключи массивов как $array[\'key\'], а не $array[key]...