[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Тип данных &string и &array
Barh
Здравствуйте, форумчане!

Допустим есть такой код:
foreach ($store_books as &$value)
{
$value = $value['id_book'];
}


в var_dump'е у последнего элемента массива тип данных &array

Есть аналогичный код:
foreach ($store_books as $key=>$value)
{
$store_books[$key] = $value['id_book'];
}


в var_dump'е у последнего элемента массива тип данных array

Мне удобнее пользоваться первым вариантом, но смущает тип данных. По этому типу не работают функции in_array, array_search .

Объясните мне, пожалуйста, что означает этот тип данных и зачем PHP вообще оставляет этот тип данных, ведь цикл закончен и можно убрать у типа данных & .

Как с этим бороться? Только вторым вариантом или я что-то не так делаю?
Barh
Никто не подскажет?
Игорь_Vasinsky
гугли - передача аргумента по ссылке

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Barh @ 3.11.2012 - 15:34)
ведь цикл закончен и можно убрать у типа данных & .

не можно, а нужно! И делать это нужно вручную. Всегда когда используешь ссылки в цикле в конце нужно делать unset, иначе чревато неожиданными последствиями.
foreach ($store_books as &$value)
{
$value = $value['id_book'];
}
unset($value);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.