Суть вопроса. Имеется строка $strok[$i] в текстовом файле. Символы строки разбиваются по 10. В каждом десятке символ 1 меняется местами с символом 10 и обратно. Затем и т.д . Так вот не проходит именно присваивание $strok[$i][$k+9]=$x;. Долго думает а затем вываливается в ошибку. Хотя присваивание $strok[$i][$k]=$strok[$i][$k+9]; проходит без проблем. Подскажите, пожалуйста, в чем загвоздка и как ее лучше обойти? for ($k=1;$k<=strlen($strok[$i]);$k=$k+10) { $x=$strok[$i][$k]; $strok[$i][$k]=$strok[$i][$k+9]; Почему то не работает следующее присваивание: $strok[$i][$k+9]=$x; $x=$strok[$i][$k+1]; $strok[$i][$k+1]=$strok[$i][$k+5]; Почему то не работает следующее присваивание: $strok[$i][$k+5]=$x; .................... } Заранее спасибо за граммотные и конкретные ответы.
Грамотные и конкретные ответы даются лишь на грамотные и конкретные вопросы. Отображение всех ошибок включено?
а ещё можно получить ответ на вопрос практически любой кривизны за конкретные деньги. Только они должны быть очень конкретными
Для считывания символов [] скобки могут импользоваться, но для присвоения необходимо использовать {} скобки, а так же, не стоит писать такой корявый код. Код помещйте в соответствующие BBCODE теги. PHP: <?php foreach($strok as $stroka) { $splitData = str_split($stroka, 10); foreach ($splitData as $TenBytes) { $temp = $TempBytes{0}; $TenBytes{0} = $TenBytes{9}; $TenBytes{0} = $temp; } } ?>
Спасибо БОЛЬШОЕ, neverlose, за ответ!!!! P.S. Luge и [vs]. Постораюсь все учесть. Грамотно и конкретно задавать свои вопросы.
neverlose Скобки {} для работы со строками были признаны устаревшим стилем в PHP 5. Квадратные должны работать.
Только при чтении... При записи, интерпретатор думает что ты пытешься сделать массив, а не изменить символ.