PHP: Примеры использования ссылок

В PHP ссылка используется для создания алиаса или указания на переменную. Это значит, что обе переменные будут указывать на одни и те же данные. Изменения, произведённые через одну переменную, отразятся и на другой.

# Пример без ссылки
$a = 10;
$b = $a;
$b = 20;

echo $a;
# Выведет 10


# Пример со ссылкой
$a = 10;
$b = &$a;
$b = 20;

echo $a;
// Выведет 20, так как $b ссылается на $a

1. Передача по ссылке в функцию

Иногда бывает нужно модифицировать переменную внутри функции:

function incrementValue( &$value )
{
    $value++;
}

$count = 0;
incrementValue( $count );

// $count теперь равен 1

2. Оптимизация памяти

Если у вас есть большие массивы или объекты, ссылки позволяют избежать копирования данных:

$bigArray = range(1, 1000000);
$aliasArray = &$bigArray;

3. Ссылки в цикле

Можно изменять элементы массива прямо в цикле:

$numbers = [ 1, 2, 3, 4 ];
foreach( $numbers as &$num )
{
    $num *= 2;
}
unset( $num ); // Отсоединяем ссылку

echo '<pre>', var_dump( $numbers ) ,'</pre>';
// array(4) {
//   [0]=>
//   int(2)
//   [1]=>
//   int(4)
//   [2]=>
//   int(6)
//   [3]=>
//   int(8)
// }

4. Безопасность и валидация:

function secureIncrement( &$value )
{
    if( is_numeric( $value ) )
    {
        $value++;
    }
    else
    {
        throw new InvalidArgumentException( "Expected a number" );
    }
}

$input = $_GET['count'] ?? 0;
secureIncrement( $input );
up: 2.7 г. Просмотров: 1.5k
Материал помог? Оценка помогает находить устаревшие и спорные решения.

Комментарии

0

Нашли ошибку или хотите дополнить материал?

Комментариев пока нет.Можно первым дополнить материал или сообщить об ошибке.
Telegram