Skip to content

PHP

reference variable &

Author
siwon
Date
2023-08-29 20:00
Views
1297

In PHP, there is no concept of a "reference variable" in the same way as in some other programming languages like C++. However, PHP does support references in the form of reference assignment and pass-by-reference for function arguments.


Here's how you can use references in PHP:


1. **Reference Assignment**:


   You can create a reference to a variable using the `&` symbol. When you assign a variable by reference, it means that both variables refer to the same data in memory. Any changes made to one variable will affect the other.


   ```php

   $original = 10;
   $reference = &$original;
   $reference = 20; // Changes $original as well
   echo $original; // Output: 20

   ```


2. **Passing by Reference**:


   In PHP, function arguments are passed by value by default, which means a copy of the variable's value is passed into the function. However, you can pass a variable by reference by using the `&` symbol in both the function definition and the function call. This allows the function to modify the original variable.


   ```php

   function multiplyByTwo(&$value) {
       $value *= 2;
   }
   
   $num = 5;
   multiplyByTwo($num);
   echo $num; // Output: 10

   ```


   Note that while passing by reference can be useful, it should be used judiciously as it can make code harder to understand and debug.


3. **Returning by Reference**:


   You can also return a reference from a function. This can be used to modify variables outside of the function scope.


   ```php

   function &getArrayItem(&$array, $index) {
       return $array[$index];
   }
   
   $myArray = [1, 2, 3];
   $item = &getArrayItem($myArray, 1);
   $item = 10; // Modifies $myArray to [1, 10, 3]

   ```

In PHP, references can be powerful, but they should be used with caution to avoid unexpected side effects and make your code more readable and maintainable.

Total 0

Total 45
Number Title Author Date Votes Views
40
php formatter
siwon | 2024.11.26 | Votes -1 | Views 1320
siwon 2024.11.26 -1 1320
39
html center 중앙정렬 tailwind
siwon | 2024.07.27 | Votes 0 | Views 1640
siwon 2024.07.27 0 1640
38
dropdown menu alpinejs 사용 버전
siwon | 2024.04.30 | Votes 0 | Views 1565
siwon 2024.04.30 0 1565
37
dropdown menu 간단 버전
siwon | 2024.04.30 | Votes 0 | Views 1524
siwon 2024.04.30 0 1524
36
The Standard PHP Library (SPL) is a collection of classes and interfaces that provide core functionality to PHP developers.
siwon | 2023.10.24 | Votes 0 | Views 2201
siwon 2023.10.24 0 2201
35
session 과 쿠키
siwon | 2023.10.24 | Votes 0 | Views 1461
siwon 2023.10.24 0 1461
34
Late Static Binding (LSB):메서드 내부에서 현재 클래스의 정적 메서드 또는 프로퍼티를 호출할 때 사용
siwon | 2023.10.24 | Votes 0 | Views 1285
siwon 2023.10.24 0 1285
33
PHP 예외 처리(Exception Handling)
siwon | 2023.10.10 | Votes 0 | Views 1606
siwon 2023.10.10 0 1606
32
php exception
siwon | 2023.10.10 | Votes 0 | Views 1802
siwon 2023.10.10 0 1802
31
예외(Exception)를 처리하기 위해 try...catch 블록을 사용하는 방법
siwon | 2023.10.10 | Votes 0 | Views 1340
siwon 2023.10.10 0 1340
30
Preserving Parent Class Functionality in overriding
siwon | 2023.09.26 | Votes 0 | Views 1173
siwon 2023.09.26 0 1173
29
oop 세부항목
siwon | 2023.09.26 | Votes 0 | Views 1190
siwon 2023.09.26 0 1190
28
method chaining
siwon | 2023.09.25 | Votes 0 | Views 1419
siwon 2023.09.25 0 1419
27
interface implements
siwon | 2023.09.19 | Votes 0 | Views 1242
siwon 2023.09.19 0 1242
Re:interface implements
siwon | 2023.10.24 | Votes 0 | Views 1050
siwon 2023.10.24 0 1050
26
abstract class : 부모 class로 사용되며 자식(extends 한)에게 abstract method를 강제함(그들만의 방식으로)
siwon | 2023.09.19 | Votes 0 | Views 1136
siwon 2023.09.19 0 1136
25
isset() / unset()
siwon | 2023.09.18 | Votes 0 | Views 1315
siwon 2023.09.18 0 1315
24
magic methods-어떤 상황이 되면 call 하지 않아도 자동으로 실행되는 메소드
siwon | 2023.09.18 | Votes 0 | Views 1321
siwon 2023.09.18 0 1321
23
MD(markdown) file
siwon | 2023.09.12 | Votes 0 | Views 1240
siwon 2023.09.12 0 1240
22
usort
siwon | 2023.08.30 | Votes 0 | Views 1277
siwon 2023.08.30 0 1277
21
closure=unanimous function
siwon | 2023.08.30 | Votes 0 | Views 1305
siwon 2023.08.30 0 1305
php 7.4에서 추가 화살표 함수 fn()=>
siwon | 2023.10.24 | Votes 0 | Views 3970
siwon 2023.10.24 0 3970
20
reference variable &
siwon | 2023.08.29 | Votes 0 | Views 1297
siwon 2023.08.29 0 1297
참조(reference)한 original variable의 값을 바꿔버리기 때문에 조심해서 써야함
siwon | 2023.08.30 | Votes 0 | Views 1227
siwon 2023.08.30 0 1227
19
PHP 변수 : 스칼라(Scalar), 복합(Composite), 그리고 리소스(Resource)
siwon | 2023.08.22 | Votes 0 | Views 1376
siwon 2023.08.22 0 1376
18
if : vs {}
siwon | 2023.08.22 | Votes 0 | Views 1120
siwon 2023.08.22 0 1120
17
null coalescing operator
siwon | 2023.08.18 | Votes 0 | Views 1468
siwon 2023.08.18 0 1468
16
arrary functions
siwon | 2023.08.18 | Votes 0 | Views 1281
siwon 2023.08.18 0 1281