30/09/2018, 16:13

[Wiki] Hàm DIE, EXIT trong PHP

DIE & EXIT

  • Định nghĩa: cả hai hàm này đều dùng để dừng hệ thống lại không dịch nội dung PHP nữa và sẽ trả về thông báo.
  • Cú pháp:
void exit ([ string $status ] )
void die ([ string $status ] )
  • Tham số: $status nội dung lời nhắn trả về.
  • Giá trị trả về: chuỗi $status.
  • Ví dụ:
<?php
echo 'Xin chào các bạn';
die('chương trình bị dừng ở đây');
echo 'dòng này sẽ không được hiện';
?>
<?php
echo 'Xin chào các bạn';
exit('chương trình bị dừng ở đây bởi hàm exit');
echo 'dòng này sẽ không được hiện';
?>
Võ Hoài Nam viết 18:15 ngày 30/09/2018

Vẫn có nhiều sự tranh cãi về sự khác nhau giữa hàm die và hàm exit. Nhưng trên tài liệu của PHP thì lại nói 2 thằng này tương đương. Ai hiểu rõ ngọn nguồn của vấn đề này, giải đáp giùm em

Đinh Quốc Hân viết 18:28 ngày 30/09/2018

Trên thực tế hai hàm này chả có gì khác nhau cả, nó có cùng ý nghĩa, lý do có 2 biến này đơn giản vì một số người ko thích sử dụng từ die (chết) vào code

Lập Trình Sư viết 18:19 ngày 30/09/2018

đọc tài liệu PHP gốc đầu tiên đã

http://php.net/manual/en/function.die.php

This language construct is equivalent to exit().
Võ Hoài Nam viết 18:21 ngày 30/09/2018

Nhưng mà bên kia cũng nói vậy

http://php.net/manual/en/function.exit.php

This language construct is equivalent to die().
Đinh Quốc Hân viết 18:15 ngày 30/09/2018

Bởi vậy hai cái là như nhau tùy người sử dụng thôi

Duy Thien viết 18:13 ngày 30/09/2018

Theo minh thì hàm die sẽ dừng tất cả quá trình thực thi của php và xuất
ra message là tham số đầu tiên. Còn hàm exit thì chỉ thoát ra khỏi vị
trí nó đang chạy. VD như trong function chẳng hạn.

Còn theo tác giả https://github.com/nkt này thì nói nó là chỉ là bí danh thôi

Khoa Nguyen viết 18:19 ngày 30/09/2018

Nói không với die() nhìn vào code dị ứng lắm

Lập Trình Sư viết 18:28 ngày 30/09/2018

Không đúng, hai hàm này thực hiện giống hệt nhau.

  • Nếu tham số là giá trị số thì sẽ gửi tín hiệu ra system và dừng.
  • Nếu là chuỗi thì sẽ in ra chuỗi và dừng.

Thử hai ví dụ đều ra kết quả như nhau.

<?php
// test1.php
$author = "@laptrinhio";
echo $author . "\n";

exit("* exit() is called.");
die("* die() is called.");

echo "bye bye $author \n";


<?php
test2.php
$author = "@laptrinhio";
echo $author . "\n";

die("* die() is called.");
exit("* exit() is called.");

echo "bye bye $author \n";

Thực hiện đúng như trong PHP doc mô tả: http://php.net/manual/en/function.exit.php

exit — Output a message and terminate the current script

Chốt là hai hàm này giống nhau … không cần lo nghĩ nhiều, thích sao thì dùng thôi.

Tớ thi thoảng còn alias cho nó bổ mắt.

function shit($bitch = "who built this s***") {
    die( $bitch );
}
Bài liên quan
0