Skip to content

PHP

reference variable &

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

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