= "Hi {$x['first_name']}, what do you like the most about {$x['language']}?";
return $x;
},$a);
}
Методу x передается двумерный массив, или массив объектов. Ведь все равно не смотря на & в array_map возратиться массив новый объектов? потому что по return произведется копирования. Или же просто добавится поле greeting в уже существующие подмассивы?
function greet_developers($a) { $y = array_map(function(&$x){ $x['greeting'] = "Hi {$x['first_name']}, what do you like the most about {$x['language']}?"; return $x; },$a); $a[0]['test'] = "yes"; if(isset($y[0]['test'])) echo "yes returned an array of same subobject! \n"; if(isset($a[0]['test'])) echo "Andthe changes are add! \n"; return $y; } Новые объекты создаются. return x внутри array_map создает копию x.
Обсуждают сегодня