Я отправляю ссылку на переменную массива, которая изначально пуста.
В вызываемой функции массив заполняется.
function one()
{
$ret = array();
two($ret);
pri nt_r($ret);
}
function two(&$res)
{
foreach($a as $b)
{
$id = $b->getid();
$txt = $b->gettxt();
$res[$id] = $txt;
}
}
Здесь, если $ id дублирован, я предполагаю, что он по умолчанию перезаписан.
То есть, если foreach запускается 5 раз и три раза, если id = 5, то результатом будет только два элемента в массиве;
Это поведение по умолчанию для такого типа присвоения массивов?
или я что-то упустил?
Да, дубликаты записываются с последними значениями. Я тестировал отдельно, и это оказалось так, как предполагалось. Но если мы используем array_push, я надеюсь, что он будет дублирован. Я думал, что прямое назначение дубликатов будет дублироваться вместо перезаписи. В любом случае позвольте мне получить некоторые комментарии от пользователей, чтобы я мог обновить, если мне не хватает полезной информации об этом дублировании и перезаписи.