Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

Nullsafe Operator ใน PHP 8

PHP 8 ใช้ nullsafe operator แทนเงื่อนไขตรวจสอบ null โดยใช้ nullsafe operator เราสามารถใช้ שרשרתของการเรียก (chain of calls) ได้ ในขณะประเมินค่า หากองค์ประกอบหนึ่งใน chain ล้มเหลว การดำเนินการของ chain ทั้งหมดจะยกเลิกและประเมินค่าเป็น null

เมื่อตัวดำเนินการด้านซ้ายมือประเมินค่าเป็น null การดำเนินการของ chain ทั้งหมดจะหยุดและประเมินค่าเป็น null หากไม่ใช่ null จะทำงานเหมือนตัวดำเนินการปกติ

Nullsafe operator สามารถ chain ได้ และนิพจน์จะถูก short-circuited จาก nullsafe operator แรกที่เจอ null

$employee->getDepartment()?->getAddress()->format();

รูปแบบ nullsafe คล้ายกับตัวดำเนินการเข้าถึงเมธอด/พรอเพอร์ตี้ (->) เราใช้ "?->" สำหรับ null-safe operator

รูปแบบ: PHP 8 Nullsafe operator

$foo?->bar?->baz;

ตัวอย่าง: PHP 8 Nullsafe Operator(?->)

<?php 
class Emp{ 
    public function getAddress() {} 
} 
$emp = new Emp(); 
$dept = $emp?->getAddress()?->dept?->iso_code; 
print_r($dept); 
?>

ผลลัพธ์

null