Hướng dẫn why is dollar sign used in php? - tại sao ký hiệu đô la được sử dụng trong php?

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

# Python
name = "World"
print "Hello, " + name
2 là khả năng chèn các biến bên trong các giá trị chuỗi theo nghĩa đen (nội suy), để các biến được phân biệt với phần còn lại của chuỗi. Một dấu hiệu đô la ở phía trước các biến trong PHP được lấy cảm hứng từ Perl có ảnh hưởng lớn đến PHP trong những năm đầu.

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

Tên không có tiền tố bởi

# Python
name = "World"
print "Hello, " + name
2 được coi là hằng số, chức năng, 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 các chuỗi:

<?php

$name = "World";
echo "Hello, $name";

Trong trường hợp như trong các ngôn ngữ không sử dụng sigil (ví dụ: python), bạn phải nối các chuỗi:

# Python
name = "World"
print "Hello, " + name

hoặc sử dụng cú pháp nội suy đặc biệt nếu ngôn ngữ cung cấp nó. Ví dụ: Ruby:

# Ruby
name = "World"
puts "Hello #{name}"

Nhiều người đã quen với các ngôn ngữ khác có thể thấy việc sử dụng Sigil lẻ, nhưng bạn có thể quen với nó ngay lập tức và khám phá lợi ích của nó.

Xem thêm

  • Hướng dẫn sử dụng PHP: Chuỗi

Dấu hiệu có nghĩa là gì trong PHP? Tôi có mã này:

<?php
  class Building {
    public $number_of_floors = 5;
    private $color;

    public function __construct($paint) {
      $this->color = $paint;
    }

    public function describe() {
      printf('This building has %d floors. It is %s in color.', 
        $this->number_of_floors, 
        $this->color
      );
    }
  }

  $bldgA = new Building('red');

  $bldgA->describe();
?>

Có vẻ như

# Python
name = "World"
print "Hello, " + name
2 chỉ ra một biến như:

$number_of_floors
$color

Nhưng tôi cảm thấy bối rối khi thấy như sau:

$bldgA->describe();
$bldgA->number_of_floors;

Tại sao không có dấu hiệu đô la trước các biến này?

Hướng dẫn why is dollar sign used in php? - tại sao ký hiệu đô la được sử dụng trong php?

Đã hỏi ngày 23 tháng 9 năm 2011 lúc 11:03Sep 23, 2011 at 11:03

user784637user784637user784637

14.7K32 Huy hiệu vàng90 Huy hiệu bạc150 Huy hiệu đồng32 gold badges90 silver badges150 bronze badges

7

Bạn đúng, $ là cho biến. Nhưng trong một trường hợp lớp, bạn không sử dụng $ nữa trên các thuộc tính vì PHP sẽ diễn giải và điều này có thể gây ra lỗi. Ví dụ: nếu bạn sử dụng

$bldgA->$number_of_floors;

Điều này sẽ không trả về thuộc tính $ number_of_floors của đối tượng nhưng trước tiên PHP sẽ xem xét giá trị của $ number_of_floors, ví dụ như nói 3, vì vậy dòng trước sẽ là

$bldgA->3;

Và điều đó sẽ cho bạn một lỗi

Đã trả lời ngày 23 tháng 9 năm 2011 lúc 11:12Sep 23, 2011 at 11:12

Hướng dẫn why is dollar sign used in php? - tại sao ký hiệu đô la được sử dụng trong php?

1

# Python
name = "World"
print "Hello, " + name
2 là cách để tham khảo các biến trong PHP. Các biến trong PHP được gõ động, điều đó có nghĩa là loại của chúng được xác định bởi những gì được gán cho chúng. Đây là trang về các biến từ hướng dẫn sử dụng PHP.variables from the PHP manual.

$ a = "Đây là một chuỗi";

$ b = 1; // Đây là một int

$ bldga = tòa nhà mới ('màu đỏ'); // bldga là một biến và một đối tượng (còn gọi là một thể hiện) của tòa nhà lớp.

$ bldga-> mô tả (); // Các cuộc gọi này mô tả (), là một chức năng thành viên của xây dựng lớp (hãy nhớ rằng $ bldga được tuyên bố là một đối tượng của tòa nhà lớp)

$ bldga-> number_of_floors; // number_of_floors là một thành viên dữ liệu của tòa nhà lớp. Bạn có thể nghĩ về nó như một biến bên trong một lớp, nhưng vì nó là một phần của lớp có tên cố định, bạn không đề cập đến nó với

# Python
name = "World"
print "Hello, " + name
2.

Đã trả lời ngày 23 tháng 9 năm 2011 lúc 11:09Sep 23, 2011 at 11:09

$bldgA = new Building('red');

Trong trường hợp này $ bldga là một đối tượng.

$bldgA->describe();

gọi hàm mô tả () từ đối tượng $ bldga

# Python
name = "World"
print "Hello, " + name
0

acces biến số_of_floors từ đối tượng $ bldga

Nhưng bạn thực sự nên xem php.net/manual/en/langage.oop5.basic.php

Đã trả lời ngày 23 tháng 9 năm 2011 lúc 11:10Sep 23, 2011 at 11:10

Hướng dẫn why is dollar sign used in php? - tại sao ký hiệu đô la được sử dụng trong php?

Pekopekopeko

11.2k4 Huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng4 gold badges32 silver badges47 bronze badges

$ Bldga là một biến cho tòa nhà lớp

Vì vậy, bạn có thể truy cập chức năng lớp bằng cách sử dụng $ build-> function_name

thí dụ:

# Python
name = "World"
print "Hello, " + name
1

$ number_of_floors là một biến bên trong lớp

Đã trả lời ngày 23 tháng 9 năm 2011 lúc 11:09Sep 23, 2011 at 11:09

2

Trong trường hợp này $ bldga là một đối tượng.

gọi hàm mô tả () từ đối tượng $ bldga

Đã trả lời ngày 23 tháng 9 năm 2011 lúc 11:12Sep 23, 2011 at 11:12

# Python
name = "World"
print "Hello, " + name
2 là cách để tham khảo các biến trong PHP. Các biến trong PHP được gõ động, điều đó có nghĩa là loại của chúng được xác định bởi những gì được gán cho chúng. Đây là trang về các biến từ hướng dẫn sử dụng PHP.kjetilh

$ a = "Đây là một chuỗi";2 gold badges17 silver badges23 bronze badges

$ b = 1; // Đây là một int

$ bldga = tòa nhà mới ('màu đỏ'); // bldga là một biến và một đối tượng (còn gọi là một thể hiện) của tòa nhà lớp.Sep 23, 2011 at 11:07

$ bldga-> mô tả (); // Các cuộc gọi này mô tả (), là một chức năng thành viên của xây dựng lớp (hãy nhớ rằng $ bldga được tuyên bố là một đối tượng của tòa nhà lớp)kkszysiu

$ bldga-> number_of_floors; // number_of_floors là một thành viên dữ liệu của tòa nhà lớp. Bạn có thể nghĩ về nó như một biến bên trong một lớp, nhưng vì nó là một phần của lớp có tên cố định, bạn không đề cập đến nó với

# Python
name = "World"
print "Hello, " + name
2.2 silver badges8 bronze badges

1

Đã trả lời ngày 23 tháng 9 năm 2011 lúc 11:09

Trong trường hợp này $ bldga là một đối tượng.

Đã trả lời ngày 23 tháng 9 năm 2011 lúc 11:10Sep 23, 2011 at 11:10

PekopekoMartin Dimitrov

11.2k4 Huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng4 gold badges46 silver badges57 bronze badges

Ý nghĩa của đồng đô la trong PHP là gì?

$ là cách để tham khảo các biến trong PHP. Các biến trong PHP được gõ động, điều đó có nghĩa là loại của chúng được xác định bởi những gì được gán cho chúng. Đây là trang về các biến từ hướng dẫn sử dụng PHP. $ a = "Đây là một chuỗi"; $ b = 1; // Đây là một int.the way to refer to variables in PHP. Variables in PHP are dynamically typed, which means that their type is determined by what's assigned to them. Here's the page about variables from the PHP manual. $a = "This is a string"; $b = 1; // This is an int.

Tại sao dấu hiệu đô la được sử dụng trong lập trình?

Trong lập trình bằng các ngôn ngữ như Basic, Pascal và PHP, dấu hiệu đồng đô la xác định các biến và hằng số.Ngôn ngữ sắp xếp ALGOL 68 và TEX sử dụng dấu hiệu đồng đô la để phân định định dạng dịch chuyển và các vùng toán học.ASP.NET sử dụng dấu hiệu đô la để chỉ ra một biểu thức.defines variables and constants. ALGOL 68 and TeX typesetting languages use the dollar sign for delimiting transput format and mathematical regions. ASP.NET uses the dollar sign to indicate an expression.

'$' Có nghĩa là gì trong JavaScript?

$ chỉ đơn giản là một định danh JavaScript hợp lệ.JavaScript cho phép các chữ cái, số, số và $ và _.$ Được dự định sẽ được sử dụng cho các biến do máy tạo ra (chẳng hạn như $ 0001).Nguyên mẫu, jQuery và hầu hết các thư viện JavaScript sử dụng $ là đối tượng cơ sở chính (hoặc hàm).a valid JavaScript identifier. JavaScript allows upper and lower letters, numbers, and $ and _ . The $ was intended to be used for machine-generated variables (such as $0001 ). Prototype, jQuery, and most javascript libraries use the $ as the primary base object (or function).

& $ Có nghĩa là gì trong PHP?

Nó có nghĩa là bạn chuyển một tham chiếu đến chuỗi vào phương thức.Tất cả các thay đổi được thực hiện cho chuỗi trong phương thức cũng sẽ được phản ánh bên ngoài phương thức đó trong mã của bạn.Xem thêm: Php's = & Toán tử.you pass a reference to the string into the method. All changes done to the string within the method will be reflected also outside that method in your code. See also: PHP's =& operator.