Dấu hiệu có nghĩa là gì trong PHP? Tôi có mã này:
Có vẻ như $
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ỏi ngày 23 tháng 9 năm 2011 lúc 11:03Sep 23, 2011 at 11:03
user784637user784637user784637
Phù vàng 14.6K32 Huy hiệu vàng90 Huy hiệu bạc150 Hàng đồ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
1
$
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 $
.
Đã 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
$bldgA->number_of_floors;
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
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ụ:
$foo = $bldgA->describe[];
$ 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
$
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 $
.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