您好,登錄后才能下訂單哦!
這篇文章主要講解了“PHP unset函數(shù)運行及用法分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP unset函數(shù)運行及用法分析”吧!
unset—釋放給定的變量
說明
unset(mixed$var[,mixed$...] ) :void
unset()銷毀指定的變量。
unset()在函數(shù)中的行為會依賴于想要銷毀的變量的類型而有所不同。
如果在函數(shù)中unset()一個全局變量,則只是局部變量被銷毀,而在調用環(huán)境中的變量將保持調用unset()之前一樣的值。
<?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
以上例程會輸出:
bar
如果您想在函數(shù)中unset()一個全局變量,可使用$GLOBALS數(shù)組來實現(xiàn):
<?php function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); ?>
如果在函數(shù)中unset()一個通過引用傳遞的變量,則只是局部變量被銷毀,而在調用環(huán)境中的變量將保持調用unset()之前一樣的值。
<?php function foo(&$bar) { unset($bar); $bar = "blah"; } $bar = 'something'; echo "$barn"; foo($bar); echo "$barn"; ?>
以上例程會輸出:
something
something
如果在函數(shù)中unset()一個靜態(tài)變量,那么在函數(shù)內部此靜態(tài)變量將被銷毀。但是,當再次調用此函數(shù)時,此靜態(tài)變量將被復原為上次被銷毀之前的值。
<?php function foo() { static $bar; $bar++; echo "Before unset: $bar, "; unset($bar); $bar = 23; echo "after unset: $barn"; } foo(); foo(); foo(); ?>
以上例程會輸出:
Before unset: 1, after unset: 23
Before unset: 2, after unset: 23
Before unset: 3, after unset: 23
參數(shù)
var
要銷毀的變量。
...
其他變量……
返回值
沒有返回值。
范例
Example #1unset()示例
<?php
// 銷毀單個變量
unset ($foo);
// 銷毀單個數(shù)組元素
unset ($bar['quux']);
// 銷毀一個以上的變量
unset($foo1, $foo2, $foo3);
?>
Example #2 使用(unset)類型強制轉換
(unset)類型強制轉換常常和函數(shù)unset()引起困惑。 為了完整性,(unset)是作為一個NULL類型的強制轉換。它不會改變變量的類型。
<?php
$name = 'Felipe';
var_dump((unset) $name);
var_dump($name);
?>
以上例程會輸出:
NULL
string(6) "Felipe"
注釋
Note:因為是一個語言構造器而不是一個函數(shù),不能被可變函數(shù)調用。
It is possible to unset even object properties visible in current context.
在 PHP 5 之前無法在對象里銷毀$this。
在unset()一個無法訪問的對象屬性時,如果定義了__unset()則對調用這個重載方法。
感謝各位的閱讀,以上就是“PHP unset函數(shù)運行及用法分析”的內容了,經過本文的學習后,相信大家對PHP unset函數(shù)運行及用法分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。