Всем привет)
Знаю что в С и С++ есть такая штука как указатели
В PHP это некая другая технология и всё же, используется ли это часто в профессиональном программировании? Имею введу жесткие ссылки.
За символьные ссылки не спрашиваю, они что-то путают меня ((
Всем заранее спасибо за ответы))
PHP
Используется ли ссылки в проф программировании (PHP)
Не знаю PHP, но точно знаю, что символьные и жёсткие ссылки - это объекты файловой системы (unix-подобных ОС и NTFS). При чём тут PHP? В C++ тоже есть ссылки, но другие (по сути, это константные указатели).
Максим Синюхин
Да, всё верно Они сделаны в PHP по аналогии как в unix
Максим Синюхин
Но меня интересует именно PHP
Максим Синюхин
То есть принцип тот же
Конструкции вида &$var называются просто "ссылки".
Для формальных параметров, через которые передаются большие массивы и тексты - постоянно используются (объекты по умолчанию по ссылке передаются).
Достаточно часто - в foreach: foreach($data as &$row).
А вот непосредственно в коде в виде $a = &$b - редко. Это для каких-то специальных задач. Например, строим сложный граф из массива узлов.
Для формальных параметров, через которые передаются большие массивы и тексты - постоянно используются (объекты по умолчанию по ссылке передаются).
Достаточно часто - в foreach: foreach($data as &$row).
А вот непосредственно в коде в виде $a = &$b - редко. Это для каких-то специальных задач. Например, строим сложный граф из массива узлов.
Максим Синюхин
Спасибо!
Если речь о $a = &$b т. е. от такого рода ссылка, то просто нужно задумываться для чего ты это делаешь, например, когда ты пишешь просто $a = $b. Ты копируешь два раза одну и ту же область памяти, соотвественно повышая таким образом кол-во занятой памяти в сложных и больших задачах, это может влиять на скорость работы. Кстати, еще можно делать вот так, например,
$a = [];
foreach($data as $value){
$ref = &$a[];
$ref['item1'] = $value * что то там;
$ref['item2'] = $value / что то там;
}
$ref - в данном случае ссылка на последний элемент массива $a, и не нужно никаких (count($array)-1) или end()
$a = [];
foreach($data as $value){
$ref = &$a[];
$ref['item1'] = $value * что то там;
$ref['item2'] = $value / что то там;
}
$ref - в данном случае ссылка на последний элемент массива $a, и не нужно никаких (count($array)-1) или end()
Максим Синюхин
Спасибо большое!
Максим Синюхин
Да, именно такая ссылка интересовала!
при чём ту пхп?
Похожие вопросы
- Web- программирование. Php (JS, HTML, CSS)
- Приветствую, помогите пожалуйста я правильно понял суть языка программирования ,PHP
- Я бы хотел спросить, стоит ли учить в 2019 году язык программирования PHP
- Php самый распространенный языке веб-программирования?
- Почему PHP считают ужасным языком программирования?
- PHP Polling ChatGPT
- За сколько времени минимум можно освоить язык программирования например PHP, чтобы сайты писать и зарабатывать?
- Назовите команды, которые используются для передачи данных с программы на сервере на php в программу в браузере на js.
- Как оптимизировать структуру сайта php. на готовом шаблоне
- Не работает PHP include на хостинге