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ì PHP 7 đã 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 PHP 7 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.
Ảnh: Toán tử PHP7
Đâ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
Xem thêm một số toán tử khác tại đây.
Trong bài này chúng ta tìm hiểu đến một sự thay đổi lớn trong việc gán giá trị cho các hằng số trong PHP đó là việc bổ sung gán giá trị là mảng cho hằng số, đây là một sự thay đổi rất hay.
Trước tiên mình tìm hiểu về cách khai báo hằng trong PHP version <= 5.6 đã nhé.
Ảnh: Hằng số PHP7
Trước đây khi khai báo hằng số thì bạn chỉ được phép gán kiểu dữ liệu đơn giản cho các hằng số đó, các kiểu dữ liệu đơn giản như là kiểu Int, kiểu String, boolean, ... Bạn không thể gán kiểu dữ liệu mảng, object cho hằng số được.
Ví dụ:
define('DOMAIN', 'freetuts.net');
define('AUTHOR', 'Nguyễn Văn Cường');
Tuy nhiên với PHP 7 thì bạn có thể gán giá trị cho hằng số là một mảng gồm nhiều phần tử, riêng đối với Object thì không thể gán được.
Ví dụ:
define("INFO", array(
'DOMAIN' => 'xjk.vn',
'AUTHOR' => 'Nguyễn Hồng Hoàng'
));
Rất tiện lợi phải không các bạn. Thay vì phải định nghĩa hai hằng số thì mình chỉ cần định nghĩa một hằng số là được. Vấn đề bây giờ để truy xuất đến một phần tử trong mảng hằng số đó thì phải làm như thế nào? Các bạn xem ví dụ nhé.
define("INFO", array(
'DOMAIN' => 'xjk.vn',
'AUTHOR' => 'Nguyễn Hồng Hoàng'
));
echo INFO['DOMAIN']; // Kết quả: xjk.vn
echo INFO['AUTHOR']; // Kết quả: Nguyễn Hồng Hoàng
Các bạn tiếp tục theo dõi các bài học của PHP 7
Chúc các bạn học tốt
Nguồn: http://freetuts.net/
Biên tập: Thiết kế website chuyên nghiệp XJK
Designed by: Giải pháp kinh doanh trực tuyến