Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Kiss Ме в|слепую on October 31, 2013, 08:08:27 AM
-
Кто объяснит почему начиная со второго прохода внутреннего цикла в лог попадает 3 элемент массива вместо первого?
LOGCLEAR
$x[0]=1
$x[1]=2
$x[2]=3
for ($i, $i<5)
LOGWRITE ("--------------i=", $i)
for ($j, $j<3)
LOGWRITE ("-----j=", $j)
$x =$x[$j-1]
LOGWRITE ("x=", $x)
end_cyc
end_cyc
halt
-
ты сам себя обманул лол
элемент $x в данном контексте тоже самое что элемент $x[0], ты видимо это понимаешь
в цикле ты присваиваешь нулевому элементу сначала значение нулевого элемента потом первого потом второго.
после первого прохода у тебя в нулевом элементе осталется тройка и на второй прогоне когда ты нулевому элементу снова присваиваешь нулевой элемент ты присваиваешь тройку. тройка в нулевом элементе осталась после первого прогона.
то есть ты делаешь $x = $x = 3 и удивляешься почему $x = 3
-
ты сам себя обманул лол
элемент $x в данном контексте тоже самое что элемент $x[0], ты видимо это понимаешь
в цикле ты присваиваешь нулевому элементу сначала значение нулевого элемента потом первого потом второго.
после первого прохода у тебя в нулевом элементе осталется тройка и на второй прогоне когда ты нулевому элементу (по умолчанию) снова присваиваешь нулевой элемент (по вычисляемому индексу) ты присваиваешь тройку. тройка в нулевом элементе осталась после первого прогона.
то есть ты делаешь $x = $x = 3 и удивляешься почему $x = 3
-
не знал что x это тоже самое что x[0] :)