Dấu phẩy PHP

Dấu phẩy ở cuối đang được sử dụng trong PHP kể từ PHP 7. 2 phiên bản. Chúng ta có thể sử dụng dấu phẩy ở cuối mục trong mảng. Chúng ta có thể thêm phần tử của mảng mà không cần sửa đổi dòng cuối cùng của phần tử nếu dòng đó đã sử dụng dấu phẩy ở cuối

Dấu phẩy trước PHP 8. 0

Trước PHP 8, chúng tôi không thể thêm dấu phẩy vào cuối tham số cuối cùng

Ví dụ

function($x,$y,$z){
}

Trên PHP8. 0

Trong PHP 8, chúng ta có thể thêm dấu phẩy ở cuối tham số cuối cùng. PHP 8 cho phép sử dụng dấu phẩy ở cuối danh sách tham số và danh sách sử dụng Đóng

PHP7. 2 nới lỏng cú pháp để cho phép đặt dấu phẩy ở cuối trong các câu lệnh

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
9 được nhóm cho các câu lệnh
class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
9 được nhóm; . 3 đã nới lỏng cú pháp để cho phép đặt dấu phẩy ở cuối các lệnh gọi hàm và phương thức, và thay đổi này trong PHP 8. 0 cho phép đặt dấu phẩy ở cuối khai báo hàm/phương thức và danh sách ________ 19 trong bao đóng

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}

Trước PHP 8. 0, điều này có thể gây ra lỗi phân tích cú pháp do dấu phẩy ở cuối không được phép trong danh sách tham số, tại

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
4

Parse error: syntax error, unexpected ')', expecting variable (T_VARIABLE) in .. on line ...

Tương tự, dấu phẩy ở cuối được cho phép trong PHP 8. 0, nhưng dẫn đến lỗi phân tích cú pháp trong các phiên bản trước

function() use (
        $foo, 
        $bar,
    ) {

}
Parse error: syntax error, unexpected ')', expecting '&' or variable (T_VARIABLE) in .. on line ...

Một trong những lợi ích chính của việc này là đầu ra khác biệt sẽ sạch hơn khi các tham số mới hoặc biến

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
9 được thêm vào

Trong các đoạn trích ở trên, việc thêm một tham số mới hoặc một biến

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
9 vào cuối sẽ tạo ra các đầu ra khác biệt đơn giản hơn, bởi vì dòng có tham số cuối cùng không được sửa đổi

        StreamInterface $body,  
        array $uploadedFiles = [], 
+       array $extraOptions = [],
     )

Nếu không cho phép dấu phẩy ở cuối, đầu ra khác biệt cũng sẽ bao gồm các thay đổi ở dòng cuối cùng

        StreamInterface $body,
-       array $uploadedFiles = []
+       array $uploadedFiles = [], 
+       array $extraOptions = []
     )

Tác động tương thích ngược

Do đây là một thay đổi cú pháp, tính năng này không thể được chuyển ngược lại

Tất cả mã chứa dấu phẩy ở cuối danh sách tham số hoặc danh sách đóng

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
9 sẽ tạo ra lỗi phân tích cú pháp trong các phiên bản trước PHP 8. 0

VângPHP 7. 3 sẽ không có chức năng mũi tên (điều đó thật mơ mộng). Tuy nhiên, dấu phẩy ở cuối lệnh gọi hàm là một bổ sung tuyệt vời cho PHP 7. 3

Trên PHP7. 3, dấu phẩy ở cuối lời gọi hàm sẽ là cú pháp hợp lệ. Điều đó có nghĩa là, bạn có thể sử dụng dấu phẩy ở cuối khi gọi các hàm, nhưng không xác định chúng

Dấu phẩy ở cuối lệnh gọi hàm đặc biệt hữu ích cho các hàm biến đổi

________số 8

Điều quan trọng, thay đổi này chỉ ảnh hưởng đến cú pháp cuộc gọi, không phải khai báo hàm. Cú pháp sau vẫn là bất hợp pháp trong PHP 7. 3

1// Still illegal syntax

2public function __construct(

3 $apiClient,

4 array $options = [],

5) {

6

7}

Dấu phẩy trong mảng PHP

Sử dụng dấu phẩy ở cuối (đôi khi được gọi là dấu phẩy) rất hay và rõ ràng khi bạn muốn sắp xếp lại một mảng hoặc nối thêm các giá trị mới

Dấu phẩy ở cuối trong các mảng PHP đã mãi mãi hợp pháp (tôi không chắc chúng được giới thiệu khi nào) và có thể là lần duy nhất bạn tiếp xúc với dấu phẩy ở cuối trong PHP ngoài việc làm cho nó hợp pháp trong các không gian tên được nhóm kể từ PHP 7. 2

Một lập luận về lý do tại sao dấu phẩy ở cuối lại có lợi và tại sao một số nhóm đã thực thi kiểu mã này trong mảng, là khác biệt rõ ràng hơn. Khi bạn muốn nối thêm một mục mảng mới, khi bạn thêm dấu phẩy vào dòng cuối cùng để nối thêm một giá trị khác, hiện tại khác biệt sẽ ảnh hưởng đến cả hai dòng

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
0

Với dấu phẩy ở cuối, chỉ có dòng được nối thêm xuất hiện trong khác biệt, thật tuyệt

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
1

Dấu phẩy ở các ngôn ngữ khác

JavaScript

Dấu phẩy ở cuối trong mảng chữ JavaScript đã được cho phép ngay từ đầu. Bắt đầu từ ECMAScript 5, dấu phẩy ở cuối trong các ký tự đối tượng là hợp pháp và trong ECMAScript 2017, dấu phẩy ở cuối trong danh sách tham số chức năng là hợp pháp

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
2

Trong JavaScript, dấu phẩy ở cuối cũng được cho phép trong các bài tập phá hủy

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
3

hồng ngọc

Đây là một ví dụ về dấu phẩy ở cuối trên một hàm băm và một mảng

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
4

con trăn

Các ví dụ Python trông giống hệt ruby

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
5

Một mẩu tin thú vị, nếu bạn bỏ qua dấu phẩy ở cuối và vô tình thêm một mục khác vào mảng, đây là kết quả sẽ như thế nào

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
6

Haskell

Haskell được biết đến với kiểu “dấu phẩy ở cuối” được gọi là “kiểu Haskell”

class Request {
    public function __construct(  
        $method,  
        UriInterface $uri,  
        HeadersInterface $headers,  
        array $cookies,  
        array $serverParams,  
        StreamInterface $body,  
        array $uploadedFiles = [],  
    ) {
        // ...
    }
}
7

Ví dụ này xuất phát từ câu trả lời StackOverflow này;

Vì dấu phẩy ở cuối có thể gây ra sự cố giữa nhiều trình duyệt trong JavaScript, nên bạn cũng có thể đã thấy một kiểu tương tự như thế này trong JavaScript

1// Still illegal syntax

2public function __construct(

3 $apiClient,

4 array $options = [],

5) {

6

7}

0

Tìm hiểu thêm

Bạn có thể tìm hiểu tất cả về các tính năng nổi bật nhất của PHP 7. 3 trong bài đăng của chúng tôi thông báo về PHP 7. 3 bản phát hành Alpha 1 tuần trước. PHP7. 3 sẽ ra mắt Tính khả dụng chung (GA) vào cuối năm nay

Ngoài ra, hãy đọc qua RFC để cho phép đặt dấu phẩy ở cuối lệnh gọi hàm để biết đầy đủ chi tiết về đề xuất sắp có trong PHP 7. 3

Tác giả Sammy Kaye Powers đã thể hiện xuất sắc đề xuất. Nếu bạn đọc kỹ, bạn có thể tìm hiểu về cách RFC này truyền đạt sự khác biệt giữa 7. 3 đề xuất và 7 bị từ chối trước đó. 2 phiên bản. 7. 2 phiếu bầu RFC đã kết hợp cả lệnh gọi hàm và định nghĩa trong một phiếu bầu và đã bị từ chối trong gang tấc

Làm cách nào để thêm dấu phẩy trong PHP?

Danh sách được phân tách bằng dấu phẩy có thể được tạo bằng cách sử dụng hàm implode() . implode() là một hàm dựng sẵn trong PHP và được sử dụng để nối các phần tử của một mảng. implode() là bí danh của PHP. hàm join() và hoạt động hoàn toàn giống như hàm join().

Dấu phẩy trong PHP là gì?

Các. là toán tử nối trong PHP, để ghép hai chuỗi lại với nhau. Dấu phẩy có thể được sử dụng cho nhiều đầu vào để lặp lại .

Làm cách nào để tách dấu phẩy trong PHP?

Sử dụng hàm phát nổ() hoặc preg_split() để phân tách chuỗi trong php với dấu phân cách đã cho . php. chức năng phát nổ (). Hàm phát nổ () là một hàm có sẵn trong PHP được sử dụng để chia một chuỗi thành các chuỗi khác nhau.

Làm cách nào để thêm dấu phẩy vào giá trong PHP?

number_format($n) làm tròn $n thành số nguyên gần nhất và thêm dấu phẩy ở giữa hàng nghìn. Ví dụ. tổng $ = 12345. 6789; .