06/04/2021, 14:45

Bài 05: Các toán tử mới trong PHP7 - ự học 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 ...

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é.

Trần Trung Dũng

15 chủ đề

2610 bài viết

0