Hướng dẫn dùng coalescing trong PHP

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.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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'] : '';

Bài viết này được đăng tại [free tuts .net]

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

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:

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

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm COALESCE trong MySQL thông qua cú pháp và ví dụ thực tế.

Nội dung chính

  • 1. Mô tả
  • 2. Cú pháp
  • 4. Ví dụ
  • 1. Mô tả
  • 2. Cú pháp
  • 4. Ví dụ
  • 1. PHP 7 cải thiện tốc độ, tiêu tốn ít bộ nhớ hơn
  • 2. Thêm tính năng khai báo kiểu trả về [Type Declaration]
  •  2. Toán tử mới: spaceship và null coalesce
  •  3. Khai báo mảng hằng số dùng define[]
  •  5. Anonymous class
  •  6. Namespace sử dụng group
  •  7. Phương thức Closure::call[]

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Mô tả

Hàm COALESCE trả về biểu thức không null đầu tiên trong danh sách.

2. Cú pháp

Cú pháp của hàm COALESCE trong MySQL là:

COALESCE[ expression1, expression2, ... expression_n ]

Trong đó:

Bài viết này được đăng tại [free tuts .net]

  • expression1 đến expression_n: Các biểu thức để kiểm tra các giá trị khác null.

Lưu ý:

  • Nếu tất cả các biểu thức có giá trị là null, thì hàm COALESCE sẽ trả về null.

3. Version

Hàm COALESCE có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

4. Ví dụ

mysql> SELECT COALESCE[null, null, null, 'test1', 'test2'];
Ket qua: 'test1'

mysql> SELECT COALESCE['test1', 'test2', null, 'test1', 'test4', null];
Ket qua: 'test1'

mysql> SELECT COALESCE[null, 1, 2, 3, null, 4, 5, 6, 7];
Ket qua: 1

mysql> SELECT COALESCE[null, 'freetus.net', 'myfreetus.net'];
Ket qua: 'freetus.net'

mysql> SELECT COALESCE[null, null, null, null, null];
Ket qua: NULL

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm COALESCE trong SQL Server thông qua cú pháp và ví dụ thực tế.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Mô tả

Hàm COALESCE trả về biểu thức không null đầu tiên trong danh sách. Nếu tất cả các biểu thức ước tính thành null, thì hàm COALESCE sẽ trả về null.

2. Cú pháp

Cú pháp của hàm COALESCE trong SQL Server [Transact-SQL] là:

COALESCE[ expression1, expression2, ... expression_n ]

Trong đó:

Bài viết này được đăng tại [free tuts .net]

  • expression1 đến expression_n: Các biểu thức để kiểm tra các giá trị khác null.

3. Version

Hàm COALESCE có thể được sử dụng trong các phiên bản sau của SQL Server [Transact-SQL]:

  • SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

4. Ví dụ

SELECT COALESCE[NULL, NULL, 'freetuts.net', NULL, 'Myfreetuts.net'];
Ket qua: 'freetuts.net'

SELECT COALESCE[NULL, 'freetuts.net', 'Myfreetuts.net'];
Ket qua: 'freetuts.net'

SELECT COALESCE[NULL, NULL, 1, 2, 3, NULL, 4];
Ket qua: 1

PHP được phát triển lần đầu vào năm 1994 và trải qua nhiều giai đoạn. Đến nay PHP đã được nâng cấp lên version 7.x và mang đến sự cải thiện đáng kể về tốc độ cho các ứng dụng web được lập trình với PHP. 

Nội dung chính

  • 1. PHP 7 cải thiện tốc độ, tiêu tốn ít bộ nhớ hơn
  • 2. Thêm tính năng khai báo kiểu trả về [Type Declaration]
  •  2. Toán tử mới: spaceship và null coalesce
  •  3. Khai báo mảng hằng số dùng define[]
  •  5. Anonymous class
  •  6. Namespace sử dụng group
  •  7. Phương thức Closure::call[]

Những tính năng mới trong PHP 7

1. PHP 7 cải thiện tốc độ, tiêu tốn ít bộ nhớ hơn

PHP sau khi được viết lại phần codebase đã giúp tăng response time lên gấp đôi giảm thiêu bộ nhớ server xuống đáng kể. Chi tiết về benchmark cho từng phiên bản PHP bạn có thể xem tại PHP Benchmark

2. Thêm tính năng khai báo kiểu trả về [Type Declaration]

Khai báo kiểu được sử dụng để xác định loại biến. PHP tự động thiết lập kiểu trả về do đó, bạn có thể thoải mái sửa đổi giá trị các biến, như thêm Float vào chuỗi mà không gây ra lỗi. Việc khai báo kiểu trả về sẽ giúp bạn có được kết quả mong đợi và do đó hạn chế phát sinh lỗi và làm cho mã dễ hiểu hơn.

Trong các phiên bản PHP trước, chúng ta có thể sử dụng phương thức gợi ý kiểu. Bạn khai báo kiểu trả về ở tham số trong hàm. Nhưng vấn đề với phương pháp này là bạn chỉ có thể sử dụng nó trong khai báo hàm và giới hạn chỉ có hai kiểu dữ liệu: tên lớp và mảng.

Chủ Đề