2011-12-13 41 views
30

thể trùng lặp:
what are the differences in die() and exit() in PHP?thoát(); chết(); return false;

Tôi đoán câu hỏi chính là sự khác biệt giữa 3 chính xác là bao nhiêu?

Cách sử dụng ngữ nghĩa chính xác cho mỗi một trong số này là gì?

Từ những gì tôi nhìn thấy return false; có thể ngừng một hàm trong khi die();exit(); sẽ ngăn chặn bất kỳ mã tiếp tục chạy ở tất cả.

Điều này có đúng không?

+0

Đã được hỏi trước: http://stackoverflow.com/questions/1795025/what-are-the-differences-in-die-and-exit-in-php – Gigi

+1

Đúng, bạn có nó chính xác. 'return' cho các hàm,' die()/exit() 'thực thi kịch bản lệnh kill. –

+1

không, điều đó không bao gồm trả lại :)) – ajreal

Trả lời

29

die()exit() giống hệt nhau; họ tạm dừng toàn bộ chương trình PHP và quay lại hệ điều hành. Chúng là hai tên khác nhau cho cùng một chức năng.

return, mặt khác, kết thúc cuộc gọi chức năng và trả về cho người gọi. Ở cuối chương trình, return đặt giá trị trạng thái được trả về hệ điều hành; chương trình sẽ thoát ra không có vấn đề gì.

+0

Vì vậy, sự cần thiết cho hai chức năng mà làm chính xác điều tương tự, có phải là một lý do cho việc này. – daryl

+8

Chỉ cần "cú pháp". Perl có 'die()', và nhiều ngôn ngữ khác có 'exit()', do đó, bằng cách có cả hai, PHP cố gắng làm cho việc chuyển đổi giữa các ngôn ngữ trở nên dễ dàng hơn, tôi cho là vậy. –

+0

@Brogrammer không hoàn toàn. Không phải là một lý do quan trọng ít nhất. Nó có thể là một số vấn đề tương thích, một vấn đề di sản, vv Dù lý do nó có thể được - nó không quan trọng anyway. –

6

Theo tài liệu PHP: exit Manualdie() là bí danh để exit() để chúng thực hiện cùng chức năng và đó là KẾT THÚC tập lệnh.

Câu lệnh return kết thúc một hàm chứ không phải toàn bộ tập lệnh và trả về giá trị bạn chọn.

Các vấn đề liên quan