foreach($z = [[1,2,3],[4,5,6]] as &$i)
{
$i[] = 6;
}
echo json_encode($z), "\n"; // prints "[[1,2,3],[4,5,6]]"
// VS
$z = [[1,2,3],[4,5,6]];
foreach($z as &$i)
{
$i[] = 6;
}
echo json_encode($z); // prints "[[1,2,3,6],[4,5,6,6]] "
Я ожидал, что присвоение $z массиву в любом случае произойдет до foreach, но что-то в помещении назначения внутри foreach приводит к тому, что массив, хранящийся в $z, не будет влияет добавление в конец массива $i.
Может кто-нибудь объяснить, почему эти два фрагмента кода возвращают разные значения? [code]foreach($z = [[1,2,3],[4,5,6]] as &$i) { $i[] = 6; } echo json_encode($z), "\n"; // prints "[[1,2,3],[4,5,6]]"
// VS
$z = [[1,2,3],[4,5,6]]; foreach($z as &$i) { $i[] = 6; } echo json_encode($z); // prints "[[1,2,3,6],[4,5,6,6]] " [/code] Я ожидал, что присвоение $z массиву в любом случае произойдет до foreach, но что-то в помещении назначения внутри foreach приводит к тому, что массив, хранящийся в $z, не будет влияет добавление в конец массива $i.
Мне казалось, что я понимаю, как переменные значения и типа работают в C#, но я столкнулся со случаем, который мне не ясен и не интуитивно понятен. Если у меня есть экземпляр класса типа «Сборка» (System.Reflection.Assembly) и я назначаю его другой...
Мне казалось, что я понимаю, как переменные значения и типа работают в C#, но я столкнулся со случаем, который мне не ясен и не интуитивно понятен. Если у меня есть экземпляр класса типа «Сборка» (System.Reflection.Assembly) и я назначаю его другой...
Думаю, эти два вопроса связаны, поэтому я опубликую их вместе:
1.- Можно ли добавить подсказку типа в цепочки присвоений?
Эти две попытки не увенчались успехом:
>>> def foo(a:int):
... b: int = c:int = a
File , line 2
b: int = c:int = a
^...
Может кто-нибудь объяснить, почему эти два фрагмента кода возвращают разные значения?
$z = [ , ];
foreach($z as &$i)
{
$i[] = 6;
}
echo json_encode($z), \n ;; // prints [ , ]
Я унаследовал кодовую базу с любовью к константным ссылкам. Я нашел дьявольскую ошибку и задаюсь вопросом, как она вообще ускользнула от компилятора. Мой C++ очень заржавел, поэтому я был бы признателен за некоторые рекомендации.
Предположим, что...