Việc sử dụng $$ trong PHP là gì?

Trong ngôn ngữ PHP,  $[ký hiệu đô la] được sử dụng để lưu trữ dữ liệu biến. $$ có thể được sử dụng để lưu trữ một biến của một biến. Dữ liệu được lưu trữ trong $ là cố định trong khi dữ liệu được lưu trữ trong $$[ký hiệu đô la kép] có thể được thay đổi linh hoạt

Như là

  • $x đại diện cho một biến
  • $$x đại diện cho một biến có nội dung là $x

ví dụ 1

";  
echo $$x."
"; echo $php; ?>

________số 8

Trong ví dụ trên, chúng ta đã gán giá trị cho biến var là Hello Giá trị của biến tham chiếu $$var được gán là World

Đôi khi thật tiện lợi khi có thể có tên biến thay đổi. Đó là, một tên biến có thể được đặt và sử dụng động. Một biến bình thường được đặt với một câu lệnh như

Một biến biến lấy giá trị của một biến và coi đó là tên của một biến. Trong ví dụ trên, xin chào, có thể được sử dụng làm tên biến bằng cách sử dụng hai ký hiệu đô la. tôi. e

Tại thời điểm này, hai biến đã được xác định và lưu trữ trong cây biểu tượng PHP. $a với nội dung "hello" và $hello với nội dung "world". Vì vậy, tuyên bố này

tạo ra đầu ra chính xác giống như

i. e. cả hai đều sản xuất. Chào thế giới

Để sử dụng biến biến với mảng, bạn phải giải quyết vấn đề nhập nhằng. Nghĩa là, nếu bạn viết $$a[1] thì trình phân tích cú pháp cần biết liệu bạn có định sử dụng $a[1] làm biến hay bạn muốn $$a làm biến và sau đó chỉ mục [1] từ . Cú pháp để giải quyết sự mơ hồ này là. ${$a[1]} cho trường hợp đầu tiên và ${$a}[1] cho trường hợp thứ hai

Thuộc tính lớp cũng có thể được truy cập bằng cách sử dụng tên thuộc tính biến. Tên thuộc tính biến sẽ được giải quyết trong phạm vi mà cuộc gọi được thực hiện. Chẳng hạn, nếu bạn có một biểu thức chẳng hạn như $foo->$bar, thì phạm vi cục bộ sẽ được kiểm tra cho $bar và giá trị của nó sẽ được sử dụng làm tên của thuộc tính $foo. Điều này cũng đúng nếu $bar là truy cập mảng

Dấu ngoặc nhọn cũng có thể được sử dụng để phân định rõ ràng tên thuộc tính. Chúng hữu ích nhất khi truy cập các giá trị trong một thuộc tính có chứa một mảng, khi tên thuộc tính được tạo thành từ nhiều phần hoặc khi tên thuộc tính chứa các ký tự không hợp lệ [e. g. từ json_decode[] hoặc SimpleXML]

Ví dụ #1 Ví dụ về thuộc tính biến

class foo {
    var $bar = 'I am bar.';
    var $arr = array['I am A.', 'I am B.', 'I am C.'];
    var $r   = 'I am r.';
}

0

1

2

3

Ví dụ trên sẽ xuất ra


Tôi là quán bar.
Tôi là quán bar.
Tôi là quán bar.
Tôi là r.

Cảnh báo

Xin lưu ý rằng các biến biến không thể được sử dụng với các mảng Superglobal của PHP trong các hàm hoặc phương thức lớp. Biến

4 cũng là một biến đặc biệt không thể tham chiếu động

Rasmus Lerdorf, cha đẻ của ngôn ngữ PHP, giải thích dấu

5 là khả năng chèn các biến vào bên trong các giá trị chuỗi ký tự [nội suy], để các biến được phân biệt với phần còn lại của chuỗi. Ký hiệu đô la trước các biến trong PHP được lấy cảm hứng từ Perl, Perl đã ảnh hưởng lớn đến PHP trong những năm đầu của nó

Nhiều ngôn ngữ lập trình khác cũng sử dụng ký hiệu đô la trong cú pháp của chúng. Biểu tượng này được gọi là “sigil” và đơn giản hóa phép nội suy

Những tên không có tiền tố là

5 được coi là hằng số, hàm, tên lớp, v.v.

Việc sử dụng Sigil đơn giản hóa phép nội suy biến thành chuỗi

7

Một cú pháp chẳng hạn như

8 được gọi là Biến biến

Ví dụ: nếu bạn xem xét phần mã này

$real_variable = 'test';
$name = 'real_variable';
echo $$name;

Bạn sẽ nhận được đầu ra sau

test

Nơi đây

  • 9 chứa 
    $real_variable = 'test';
    $name = 'real_variable';
    echo $$name;
    
    0
  • $real_variable = 'test';
    $name = 'real_variable';
    echo $$name;
    
    1 chứa tên biến của bạn.
    $real_variable = 'test';
    $name = 'real_variable';
    echo $$name;
    
    2
  • $real_variable = 'test';
    $name = 'real_variable';
    echo $$name;
    
    3 có nghĩa là "biến có tên chứa trong _______ 21"
    • Đó là
      9
    • Và có giá trị
      $real_variable = 'test';
      $name = 'real_variable';
      echo $$name;
      
      0

CHỈNH SỬA sau nhận xét của @Jhonny

Đang thực hiện

test
3?
Chà, cách tốt nhất để biết là thử ;-]

Vì vậy, hãy thử phần mã này

$real_variable = 'test';
$name = 'real_variable';
$name_of_name = 'name';

echo $name_of_name . '
'; echo $$name_of_name . '
'; echo $$$name_of_name . '
';

Và đây là kết quả tôi nhận được

name
real_variable
test

Vì vậy, tôi sẽ nói rằng, vâng, bạn có thể làm

test
3 ;-]

Tại sao $$ được sử dụng trong PHP?

$$ [đô la đô la hoặc đô la kép] có nghĩa là gì trong PHP? . $$x [đô la kép] là một biến tham chiếu lưu trữ giá trị có thể được truy cập bằng cách sử dụng ký hiệu $ trước giá trị $x. The $x [single dollar] is the normal variable with the name x that stores any value like string, integer, float, etc. The $$x [double dollar] is a reference variable that stores the value which can be accessed by using the $ symbol before the $x value.

$$ A là gì?

$$a là một biến có tên trong $a . Giả sử $a = "foo"; .

Sự khác biệt giữa $name và $$ name là gì?

Tôi đã thực hiện một số nghiên cứu và phát hiện ra rằng $$name là một biến tham chiếu và $name chỉ là một biến .

$$ VAR là gì?

Trong PHP, $var dùng để lưu giá trị của biến như Integer, String, boolean, character. $var là một biến và $$var lưu trữ giá trị của biến bên trong nó .

Chủ Đề