разница между вызовом по значению и вызовом по ссылке в php, а также $$ означает?

(1) Я хочу знать, в чем разница между вызовом по значению и вызовом по ссылке в php . PHP работает по вызову по значению или по ссылке?

(2) И также я хочу знать, что вы имеете в виду под $$ sign в php

Например:-

 $a = 'name'; $$a = "Paul"; echo $name; output is Paul 

Как и выше пример, что означает u на $$ на PHP.

Solutions Collecting From Web of "разница между вызовом по значению и вызовом по ссылке в php, а также $$ означает?"

$$a = b; в PHP означает «принять значение $a и установить переменную, чье имя – это значение, равное b ».

Другими словами:

 $foo = "bar"; $$foo = "baz"; echo $bar; // outputs 'baz' 

Но да, взгляните на ссылку на символ PHP .

Что касается вызова по значению / ссылке – основное различие между ними заключается в том, можете ли вы изменить исходные элементы, которые использовались для вызова функции. Видеть:

 function increment_value($y) { $y++; echo $y; } function increment_reference(&$y) { $y++; echo $y; } $x = 1; increment_value($x); // prints '2' echo $x; // prints '1' increment_reference($x); // prints '2' echo $x; // prints '2' 

Обратите внимание, как значение $x не изменяется с помощью increment_value() , но изменяется с помощью increment_reference() .

Как показано здесь, используется ли вызов по значению или вызов по ссылке, зависит от определения вызываемой функции; по умолчанию при объявлении ваших собственных функций – это вызов по значению (но вы можете указать call-by-reference через & sigil).

Определим функцию:

 function f($a) { $a++; echo "inside function: " . $a; } 

Теперь давайте попробуем назвать его по значению (обычно мы это делаем):

 $x = 1; f($x); echo "outside function: " . $x; //inside function: 2 //outside function: 1 

Теперь давайте переопределим функцию для передачи переменной по ссылке:

 function f(&$a) { $a++; echo "inside function: " . $a; } 

и называя его снова.

 $x = 1; f($x); echo "outside function: " . $x; //inside function: 2 //outside function: 2 

Вы можете передать переменную по ссылке на функцию, чтобы функция могла изменять переменную. Больше информации здесь .

Это означает $ ($ a), поэтому он совпадает с именем $ (так как $ a = 'name'). Больше объяснений здесь Что означает $$ (доллар или двойной доллар) в PHP?