php Разница между передачей объекта по ссылке и без (ссылка на ссылку, "ссылка по значению")
Primary tabs
Можно запустить и почувствовать разницу
<?php class A { public function __construct( public int $a ) { } } class B { public function __construct( public int $a ) { } } $a = new A(123); function tst1($obj) { $obj = new B(333); } function tst2(&$obj) { $obj = new B(333); } tst1($a); print_r($a); tst2($a); print_r($a);
-- дело в том что:
- в качестве аргумента в функцию всегда передается ссылка на объект (в php)
- в первом случае мы передаем эту ссылку по значению (т.е. фактически создается ее копия)
- во втором случае мы работаем все с той же ссылкой
- Log in to post comments
- 500 reads