Định nghĩa và Cách sử dụng
Trong PHP, Đối tượng là một kiểu dữ liệu phức hợp (cùng với các mảng). Giá trị của nhiều loại có thể được lưu trữ cùng nhau trong một biến duy nhất. Đối tượng là một thể hiện của một lớp được tạo sẵn hoặc do người dùng xác định. Ngoài các thuộc tính, lớp xác định chức năng liên quan đến dữ liệu.
Các biến chính (vô hướng), mảng và các đối tượng khác có thể được truyền sang kiểu dữ liệu đối tượng bằng cách sử dụng toán tử ép kiểu. PHP cung cấp stdClass dưới dạng một lớp trống chung, hữu ích để thêm động và truyền thuộc tính.
Cú pháp
Để khai báo một đối tượng của một lớp, chúng ta cần sử dụng câu lệnh mới
class myclass { .. .. } $obj=new myclass;
Ví dụ
<?php class SayHello{ function hello(){ echo "Hello World"; } } $obj=new SayHello; $obj->hello(); ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau -
Hello World
Đối tượng của stdClass là rỗng để bắt đầu. Chúng tôi có thể thêm các thuộc tính một cách động
Ví dụ
<?php $obj=new stdClass; $obj->name="Deepak"; $obj->age=21; $obj->marks=75; print_r($obj); ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau -
stdClass Object( [name] => Deepak [age] => 21 [marks] => 75 )
Mảng có thể được đánh máy thành đối tượng như sau
Ví dụ
<?php $arr=array("name"=>"Deepak", "age"=>21, "marks"=>75); $obj=(object)$arr; print_r($obj); ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau -
stdClass Object( [name] => Deepak [age] => 21 [marks] => 75 )
Ngược lại, một đối tượng có thể được truyền sang mảng
Ví dụ
<?php $obj=new stdClass; $obj->name="Deepak"; $obj->age=21; $obj->marks=75; $arr=(array)$obj; print_r($arr); ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau -
Array( [name] => Deepak [age] => 21 [marks] => 75 )
Biến của bất kỳ kiểu vô hướng nào cũng có thể được chuyển đổi thành một đối tượng bằng cách ép kiểu. Giá trị của biến vô hướng trở thành giá trị của biến vô hướng của đối tượng tài sản.
Ví dụ
<?php $name="Deepak"; $age=21; $percent=75.50; $obj1=(object)$name; print_r($obj1); $obj2=(object)$age; print_r($obj2); $obj3=(object)$percent; print_r($obj3); ?>
Đầu ra
Điều này sẽ tạo ra kết quả sau -
stdClass Object( [scalar] => Deepak ) stdClass Object( [scalar] => 21 ) stdClass Object( [scalar] => 75.5 )