Bài 05: Các toán tử mới trong PHP7

Ngoài các toán tử như toán tử quan hệ, toán tử luận lý mà PHP đang hỗ trợ thì PHP7 đã bổ sung thêm một số toán tử rất hay giúp việc xử lý dữ liệu nhanh hơn. Trong bài viết mình chỉ giới thiệu những toán tử mà mình biết thôi nhé, sau này tìm ra thêm mình sẽ bổ sung.

1. Toán tử ?? Null Coalescing Operator

Trong PHP7 có giới thiệu toán tử ??, đây là toán tử dùng để thay thế cho hàm isset khi ta gán dữ liệu. Ví dụ khi bạn lấy dữ liệu từ phương thức GET thì thông thường ta sử dụng thêm hàm isset để kiểm tra như sau:

if (isset($_GET['id'])){
    $id = $_GET['id'];
}

Hoặc kết hợp với toán tử ba ngôi:

$id = isset($_GET['id']) ? $_GET['id'] : '';

Tuy nhiên nếu sử dụng toán tử ?? thì ta viết đơn giản nhu sau:

$id = $_GET['id'] ?? '';

Như vậy cú pháp sẽ như sau:

$id = ($is_null) ?? 'ok';

Giải thích: Nếu biểu thức $is_null có giá trị khác null thì biến $id sẽ có giá trị là $is_null, ngược lại biến $id sẽ có giá trị là ok.

2. Toán tử <=> Spaceship Operator

Đây là toán tử thường dùng với kiểu số (INT), nếu bạn sử dụng với kiểu chuỗi thì hệ thống sẽ dựa vào mã ASCII để lấy ra số của chuỗi đó.

Toán tử này có cú pháp như sau:

$result = $a <=> $b;

Ta sẽ có ba trường hợp xảy ra:

  • Nếu $a > $b thì $result sẽ có giá trị là 1
  • Nếu $a = $b thì $result sẽ có giá trị là 0
  • Nếu $a < $b thì $result sẽ có giá trị là -1

Ví dụ:

$a = 12;
$b = 20;

$result = $a <=> $b;

echo $result; // kết quả -1

3. Lời kết

Hiện tại thì mình mới tìm thấy hai toán tử trên thôi, sau này nếu tìm thấy thêm thì mình sẽ bổ sung cho bài viết. Hoặc nếu bạn biết toán tử nào thì hãy comment để mình bổ sung vào bài viết nhé.

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.