Skip to content

PHP

reference variable &

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

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 0 | Views 520
siwon 2024.11.26 0 520
39
html center 중앙정렬 tailwind
siwon | 2024.07.27 | Votes 0 | Views 890
siwon 2024.07.27 0 890
38
dropdown menu alpinejs 사용 버전
siwon | 2024.04.30 | Votes 0 | Views 932
siwon 2024.04.30 0 932
37
dropdown menu 간단 버전
siwon | 2024.04.30 | Votes 0 | Views 873
siwon 2024.04.30 0 873
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 1342
siwon 2023.10.24 0 1342
35
session 과 쿠키
siwon | 2023.10.24 | Votes 0 | Views 874
siwon 2023.10.24 0 874
34
Late Static Binding (LSB):메서드 내부에서 현재 클래스의 정적 메서드 또는 프로퍼티를 호출할 때 사용
siwon | 2023.10.24 | Votes 0 | Views 811
siwon 2023.10.24 0 811
33
PHP 예외 처리(Exception Handling)
siwon | 2023.10.10 | Votes 0 | Views 1065
siwon 2023.10.10 0 1065
32
php exception
siwon | 2023.10.10 | Votes 0 | Views 1300
siwon 2023.10.10 0 1300
31
예외(Exception)를 처리하기 위해 try...catch 블록을 사용하는 방법
siwon | 2023.10.10 | Votes 0 | Views 884
siwon 2023.10.10 0 884
30
Preserving Parent Class Functionality in overriding
siwon | 2023.09.26 | Votes 0 | Views 716
siwon 2023.09.26 0 716
29
oop 세부항목
siwon | 2023.09.26 | Votes 0 | Views 708
siwon 2023.09.26 0 708
28
method chaining
siwon | 2023.09.25 | Votes 0 | Views 850
siwon 2023.09.25 0 850
27
interface implements
siwon | 2023.09.19 | Votes 0 | Views 760
siwon 2023.09.19 0 760
Re:interface implements
siwon | 2023.10.24 | Votes 0 | Views 640
siwon 2023.10.24 0 640
26
abstract class : 부모 class로 사용되며 자식(extends 한)에게 abstract method를 강제함(그들만의 방식으로)
siwon | 2023.09.19 | Votes 0 | Views 704
siwon 2023.09.19 0 704
25
isset() / unset()
siwon | 2023.09.18 | Votes 0 | Views 788
siwon 2023.09.18 0 788
24
magic methods-어떤 상황이 되면 call 하지 않아도 자동으로 실행되는 메소드
siwon | 2023.09.18 | Votes 0 | Views 792
siwon 2023.09.18 0 792
23
MD(markdown) file
siwon | 2023.09.12 | Votes 0 | Views 789
siwon 2023.09.12 0 789
22
usort
siwon | 2023.08.30 | Votes 0 | Views 725
siwon 2023.08.30 0 725
21
closure=unanimous function
siwon | 2023.08.30 | Votes 0 | Views 807
siwon 2023.08.30 0 807
php 7.4에서 추가 화살표 함수 fn()=>
siwon | 2023.10.24 | Votes 0 | Views 1548
siwon 2023.10.24 0 1548
20
reference variable &
siwon | 2023.08.29 | Votes 0 | Views 800
siwon 2023.08.29 0 800
참조(reference)한 original variable의 값을 바꿔버리기 때문에 조심해서 써야함
siwon | 2023.08.30 | Votes 0 | Views 812
siwon 2023.08.30 0 812
19
PHP 변수 : 스칼라(Scalar), 복합(Composite), 그리고 리소스(Resource)
siwon | 2023.08.22 | Votes 0 | Views 886
siwon 2023.08.22 0 886
18
if : vs {}
siwon | 2023.08.22 | Votes 0 | Views 673
siwon 2023.08.22 0 673
17
null coalescing operator
siwon | 2023.08.18 | Votes 0 | Views 926
siwon 2023.08.18 0 926
16
arrary functions
siwon | 2023.08.18 | Votes 0 | Views 749
siwon 2023.08.18 0 749