溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP unset函數(shù)運行及用法分析

發(fā)布時間:2021-03-05 15:23:55 來源:億速云 閱讀:180 作者:TREX 欄目:開發(fā)技術

這篇文章主要講解了“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ù)運行及用法分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI