Hướng dẫn what does void mean in php function? - void có nghĩa là gì trong hàm php?

Tôi đã thử nghiệm các loại trả lại với PHP 7.

Tôi đã tạo một tập lệnh đơn giản để kiểm tra các loại trả về của PHP 7:

test(); // output: ok

Bây giờ trong các ngôn ngữ lập trình khác khi bạn chỉ định loại trả về void, điều đó có nghĩa là bạn không thể trả lại bất cứ điều gì hoặc bạn sẽ gặp lỗi. Vì vậy, tôi đã viết kịch bản này:

Bây giờ trong tập lệnh trên, đầu ra dự kiến ​​là không có gì. Thay vào đó, nó cho tôi một lỗi nghiêm trọng:

Lỗi nghiêm trọng: Giá trị trả về của foo () phải là một ví dụ của khoảng trống, không có gì được trả về trên dòng 2

Câu hỏi của tôi là (tôi không thể tìm thấy nó), trong Php 7 sẽ có loại void tương tự?

Hướng dẫn what does void mean in php function? - void có nghĩa là gì trong hàm php?

Rizier123

57.8K16 Huy hiệu vàng91 Huy hiệu bạc142 Huy hiệu đồng16 gold badges91 silver badges142 bronze badges

Hỏi ngày 22 tháng 4 năm 2015 lúc 9:12Apr 22, 2015 at 9:12

3

Edit:

Một RFC riêng biệt mới cho một loại trả lại void đã được công bố, đã vượt qua phiếu bầu và được thực hiện trong Php 7.1. Bây giờ có một loại trả lại void trong PHP. :)
There is now a void return type in PHP. :)

Bài viết gốc:

Được lấy từ wiki.php.net:

Công việc tương lai

Ý tưởng cho công việc trong tương lai nằm ngoài phạm vi của RFC này bao gồm:

  • Cho phép các chức năng tuyên bố rằng chúng hoàn toàn không trả lại bất cứ điều gì (khoảng trống trong Java và C)

Vì vậy, hiện tại không có cách nào để tuyên bố rằng bạn không trả lại bất cứ điều gì. Tôi không biết điều gì là tốt nhất trong tình huống của bạn, nhưng có lẽ tôi chỉ cần không tuyên bố loại trả lại bây giờ.
I don't know what's best in your situation, but I'd probably just go with not declaring the return type for now.

Để trả lời câu hỏi của bạn liệu sẽ có loại trả về void trong Php 7: chưa có gì đảm bảo, nhưng tôi nghĩ rằng rất có khả năng void hoặc một từ đồng nghĩa sẽ được thực hiện theo một cách nào đó.
There is no guarantee yet, but I think it is very likely that void or a synonym will be implemented in some way.

Đã trả lời ngày 22 tháng 4 năm 2015 lúc 9:20Apr 22, 2015 at 9:20

SiguzasiguzaSiguza

Phim thương hiệu vàng 18,9k649 Huy hiệu bạc77 Hàng đồng6 gold badges49 silver badges77 bronze badges

2

Loại voidReturn đã được chấp nhận cho PHP 7.1. Vì vậy, nó sẽ đến trong tương lai.

Một số ví dụ về cách nó sẽ hoạt động:

function should_return_nothing(): void {
    return 1; // Fatal error: A void function must not return a value
}

function returns_null(): void {
    return null; // Fatal error: A void function must not return a value
}
function lacks_return(): void {
    // valid
}
function returns_nothing(): void {
    return; // valid
}

Xem RFC từ Andrea Faulds để biết thêm thông tin!

Đã trả lời ngày 12 tháng 11 năm 2015 lúc 12:28Nov 12, 2015 at 12:28

Acrobatacrobatacrobat

2.1492 Huy hiệu vàng27 Huy hiệu bạc35 Huy hiệu Đồng2 gold badges27 silver badges35 bronze badges

2

Chỉnh sửa: Trong Php 7.1 có một loại giả void. Nó được xác định trong khoảng trống loại RFC. Dưới đây là câu trả lời trước 7.1.


Tác giả của các loại RETRY RFC tại đây. Trong Php 7.0 sẽ không có loại trả về void vì RFC không thêm nó và không có bất kỳ RFC nào khác nhắm mục tiêu Php 7.0.

Loại void có thể tồn tại trong loạt Php 7 nếu chúng tôi quyết định rằng việc thêm khóa/từ dành riêng mới là ổn cho các bản phát hành nhỏ mặc dù chúng sẽ phá vỡ mã. Điều này có phần không chắc chắn, nhưng nó đã được thực hiện trong Php 5.4 với từ khóa

3.


Cá nhân, tôi không nghĩ rằng chúng ta cần void; Chúng tôi đã có

5. Từ hướng dẫn:

Giá trị null đặc biệt đại diện cho một biến không có giá trị. NULL là giá trị duy nhất có thể có của loại null.

Trong PHP, một hàm không trả về bất cứ điều gì sẽ ngầm trả lại

5. Điều này có nghĩa là bạn không thể thực sự không trả lại gì*. Đi theo tuyến đường
5 có nghĩa là không có sự phá vỡ tương thích ngược vì
5 sẽ không phải là một lớp/giao diện/tên tính trạng hợp lệ bắt đầu từ PHP 7.0 và không thêm bất kỳ khóa mới hoặc từ dành riêng nào.

*Những người quen thuộc với động cơ Zend sẽ nhận ra rằng bạn không thể trả lại gì, nhưng nếu bạn không trả lại thì không có biến nào bạn chỉ định sẽ được gán null, điều này làm cho họ tương đương về mặt logic.

Đã trả lời ngày 12 tháng 5 năm 2015 lúc 18:10May 12, 2015 at 18:10

Levi Morrisonlevi MorrisonLevi Morrison

18.8K6 Huy hiệu vàng63 Huy hiệu bạc82 Huy hiệu Đồng6 gold badges63 silver badges82 bronze badges

1

Không có loại tương đương cho khoảng trống trong PHP, trả về null; Có thể phù hợp với yêu cầu của bạn vì nó không có bất kỳ loại nào như 0 hoặc bất kỳ giá trị nào khác. Lưu ý: Void thực tế có nghĩa là không có sự trở lại.

Đã trả lời ngày 22 tháng 4 năm 2015 lúc 9:17Apr 22, 2015 at 9:17

Hướng dẫn what does void mean in php function? - void có nghĩa là gì trong hàm php?

Sanjay kumar n ssanjay kumar n sSanjay Kumar N S

4.5073 huy hiệu vàng22 Huy hiệu bạc38 Huy hiệu đồng3 gold badges22 silver badges38 bronze badges

@Benice Tôi hiểu quan điểm của bạn, dù sao tôi cũng tóm tắt việc xem xét từ Levi Morrison như một câu hỏi thực tế về tính bền vững: giới thiệu void như một loại trả lại có thể, chúng tôi phá vỡ giả định rằng loại duy nhất có thể của

5 là
5.

Bằng cách này, void nên được trả lại để kiểm tra loại

5, thay đổi các ràng buộc kiến ​​trúc bằng thiết kế và gây ra sự lộn xộn trong khả năng tương thích ngược.

// your choice implies this comparison should be true:
gettype(null) === void;

Tôi nghĩ rằng ai đã sử dụng

5 không thường xuyên trong mã của anh ta sẽ mang loại thực hiện loại void.

Đã trả lời ngày 24 tháng 3 năm 2018 lúc 1:43Mar 24, 2018 at 1:43

Hướng dẫn what does void mean in php function? - void có nghĩa là gì trong hàm php?

Yodabaryodabaryodabar

4.5311 Huy hiệu vàng31 Huy hiệu bạc36 Huy hiệu đồng1 gold badge31 silver badges36 bronze badges

Một khoảng trống có thể trả về một giá trị?

Bất kỳ phương thức nào tuyên bố void không trả về một giá trị. Nó không cần phải chứa một câu lệnh trả lại, nhưng nó có thể làm như vậy.. It does not need to contain a return statement, but it may do so.

Void có phải là một loại dữ liệu trong PHP không?

Loại void có thể tồn tại trong loạt Php 7 nếu chúng tôi quyết định rằng việc thêm khóa/từ dành riêng mới là ổn cho các bản phát hành nhỏ mặc dù chúng sẽ phá vỡ mã.Điều này có phần không chắc chắn, nhưng nó đã được thực hiện trong Php 5.4 với từ khóa có thể gọi được.Giá trị null đặc biệt đại diện cho một biến không có giá trị.. This is somewhat uncertain, but it was done in PHP 5.4 with the callable keyword. The special NULL value represents a variable with no value.

Return Return có nghĩa là gì?

Trong lập trình máy tính, khi void được sử dụng làm loại trả về hàm, nó chỉ ra rằng hàm không trả về giá trị.Khi khoảng trống xuất hiện trong một tuyên bố con trỏ, nó chỉ định rằng con trỏ là phổ quát.Khi được sử dụng trong danh sách tham số của hàm, void chỉ ra rằng hàm không có tham số.the function does not return a value. When void appears in a pointer declaration, it specifies that the pointer is universal. When used in a function's parameter list, void indicates that the function takes no parameters.

Mục đích của sự trở lại và khoảng trống là gì?

Một hàm void không thể trả về bất kỳ giá trị nào.Nhưng chúng ta có thể sử dụng câu lệnh trả lại.Nó chỉ ra rằng chức năng bị chấm dứt.Nó làm tăng khả năng đọc của mã.It indicates that the function is terminated. It increases the readability of code.