Trang chủ » PHP » Hướng dẫn sử dụng Hàm Unset trong PHP dễ hiểu nhất

Hướng dẫn sử dụng Hàm Unset trong PHP dễ hiểu nhất

Ví dụ đơn giản về hàm Unset trong PHP

<!DOCTYPE html>
<html>
<body>

<?php
$a = "Hello world!";
echo "Giá trị biến 'a' trước khi unset: " . $a . "<br>"; //Giá trị biến 'a' trước khi unset: Hello world!
unset($a);
echo "Giá trị biến 'a' sau khi unset: " . $a; //Giá trị biến 'a' sau khi unset:
?>

</body>
</html>

Định nghĩa và cách sử dụng Unset trong PHP

unset ( mixed $var [, mixed $... ] ) : void

Hàm Unset () trong PHP loại bỏ các biến được chỉ định.

Luồng xử lý của unset () bên trong một hàm có thể khác nhau tùy thuộc vào loại biến mà bạn đang cố gắng hủy.

Nếu một biến toàn cục sử dụng hàm unset() bên trong một hàm, thì chỉ biến cục bộ bị hủy. Biến trong môi trường gọi sẽ giữ nguyên giá trị như trước khi hàm unset () được gọi khi sử dụng bên ngoài hàm đó.

<?php
function destroy_foo() 
{
    global $foo;
    unset($foo);
}

$foo = 'bar';
destroy_foo();
echo $foo; //bar
?>

Như ví dụ trên kết quả trả về cho biến $foo là “bar”. Bởi vì biến $foo chỉ bị unset bên trong hàm destroy_foo(), nhưng khi sử dụng bên ngoài hàm đó biến giữ nguyên giá trị ban đầu.

Để unset() một biến toàn cục bên trong một hàm, sau đó sử dụng mảng $ GLOBALS để làm như vậy:

<?php
function foo() 
{
    unset($GLOBALS['bar']);
}

$bar = "something";
foo();
?>

Nếu một biến được PASSED BY REFERENCE unset() bên trong một hàm, thì chỉ có biến cục bộ bị hủy. Biến trong môi trường gọi sẽ giữ nguyên giá trị như trước khi unset () được gọi.

<?php
function foo(&$bar) 
{
    unset($bar);
    $bar = "blah";
}

$bar = 'something';
echo "$bar\n"; //something

foo($bar); 
echo "$bar\n"; //something
?>

Nếu một biến tĩnh unset () bên trong một hàm, thì unset () sẽ hủy biến đó chỉ trong context của phần còn lại của một hàm. Các lệnh gọi sau sẽ khôi phục giá trị trước đó của một biến.

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "Before unset: $bar, ";
    unset($bar);
    $bar = 23;
    echo "after unset: $bar\n";
}

foo(); //Before unset: 1, after unset: 23
foo(); //Before unset: 2, after unset: 23
foo(); //Before unset: 3, after unset: 23
?>

Mong rằng qua bài viết này thì các bạn đã hiểu hơn về hàm Unset trong PHP và biết cách áp dụng nó. Cảm ơn các bạn rất nhiều đã theo dõi bài viết đến đây!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *