Побитовое “И” в функции php

253
04 октября 2017, 10:27

Какую роль играет побитовое "И" в функциях php? С какой целью его используют? Например: function foo ($var1, & $var2){...

Answer 1

Это не и а ссылка на аргумент в памяти. http://php.net/manual/ru/functions.arguments.php

Передача аргументов по ссылке

По умолчанию аргументы в функцию передаются по значению (это означает, что если вы измените значение аргумента внутри функции, то вне ее значение все равно останется прежним). Если вы хотите разрешить функции модифицировать свои аргументы, вы должны передавать их по ссылке.

Если вы хотите, что бы аргумент всегда передавался по ссылке, вы можете указать амперсанд (&) перед именем аргумента в описании функции:

Пример: передача аргументов по ссылке

<?php
function add_some_extra(&$string)
{
    $string .= 'и кое-что еще.';
}
$str = 'Это строка, ';
add_some_extra($str);
echo $str;    // выведет 'Это строка, и кое-что еще.'
?>

Это означает что мы можем передать не значение переменной $str а его ссылку в оперативной памяти что позволяет изменить переменную внутри функции.

READ ALSO
Наследование моделей в Codeigniter

Наследование моделей в Codeigniter

Каким образом можно создать модель расширенную от своего абстрактного класса?

384
Алгоритм Бабушкина

Алгоритм Бабушкина

Здравствуйте! Есть реализация алгоритма в MATLAB:

271
Как сократить данный MySQL-код?

Как сократить данный MySQL-код?

Можно ли как-то сократить данный код? Думаю, что это делается через циклы, но как - не могу понять

265
Не находит базу данных

Не находит базу данных

При записи данных в PhpMyAdmin, не подключается к самой базе данных, хотя к mysql коннектится, возможно ошибка в сравнении, которую я выбирал при создании

268