婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解PHP變量傳值賦值和引用賦值變量銷毀

詳解PHP變量傳值賦值和引用賦值變量銷毀

熱門標簽:西區企業怎么做地圖標注入駐 阿里云400電話申請加工單 地下城堡2圖九地圖標注 抖音有個地圖標注是什么意思 保定crm外呼系統運營商 智能電話機器人排名前十名南京 海南人工外呼系統有效果嗎 七魚外呼系統停用嗎 九江外呼系統

本文實例為大家分享了PHP變量傳值賦值和引用賦值變量銷毀的具體代碼,供大家參考,具體內容如下

?php
   $a = 100;
   $b = 200;
   var_dump($a,$b); //int(100) int(200)
 ?>

php中,上面的代碼,變量是怎么存放的呢?

上面的代碼變動下,將變量b賦值給變量a,會發生什么?

?php
  $a = 100;
  $b = 200;
  $a = $b;/*多了這個*/
  var_dump($a,$b); //int(200) int(200)
?>

問題來了,$a = $b,那么是將變量a的指針指向了變量b指針所指向的位置?還是變量a指向的位置的值變了?

引用賦值和上面傳值賦值不同,引用賦值是兩個變量指向一個地方,一旦這樣,一改俱改。

怎么引用賦值呢?變量名前加即可,

$a = $b;

這樣賦予變量a的就不僅僅是變量b的值,而是變量b的地址,變量a和變量b共同指向一個地址。

?php
  $a = 100;
  $b = 200;
  $a = $b;
  var_dump($a,$b); //int(200) int(200)
  /*變量b引用賦值給變量a后,ab指向同一個地址,將會一改俱改,如下:*/
  $a =500; 
  var_dump($a,$b);//int(500) int(500) 一改俱改
  $b = 700;
  var_dump($a,$b);//int(700) int(700)  一改俱改
?>

?php
/*理解下面的話*/

$a = 100; 
//變量a賦值int 100 ,100是基礎數據類型,不是變量,是存在變量指向位置的

$a = $b;
//變量b的值 賦值 給變量a,變量a,b各有各的指向,執行之后,各是各的。

$a = $b;
//變量b的值的地址 賦值給變量 a ,變量a,b共用一個地址哦!一改俱改!


?>
?php
/*


php中unset()是用來銷毀變量的,但很多時候,unset()只把變量給銷毀了,
內存中存放的該變量的值仍然沒有銷毀,也就是沒能達到我們想要的釋放內存的效果。
這里可以用 變量=null 的方法來釋放其內存

unset也會釋放內存的情況

1. 在變量值所占空間超過255字節長的時候,unset(變量)才會釋放內存
2. 只有當指向該值的所有變量都被銷毀后,地址才會被釋放(比如$a,$b都指向該值,僅僅unset($a);是不釋放的,$b還是正常存在的)(也要執行1的判斷)



 */




  $a = 200;
  $b = $a;
  unset($a);
  var_dump($a,$b); //NULL int(100)
?>

上面的代碼,執行到unset($a)時候,就是將變量a的指向斷開,同時將變量a扔出花名冊,從下圖可以看出,對變量b是沒有影響的。

但是,如果用$a = null;這種方式銷毀變量時,將會有如下影響:

?php
  $a = 100;
  $b = $a;
  $a = null;
  var_dump($a,$b); //NULL NULL
?>

這種方式,釋放了內存,但是共用一個地址的另一個變量也受到了影響。

看看這兩種方式在數組上的應用:

?php
  $aaa = array(
    'a'=>1,
    'b'=>2
  );
  unset($aaa['a']);
  print_r($aaa); //Array ( [b] => 2 ) ,用unset,數組中這一項不存在了
  
  
  
  $bbb = array(
    'a'=>1,
    'b'=>2
  );
  $bbb['a'] = null;
  print_r($bbb); //Array ( [a] => [b] => 2 ) ,用 = null,數組中這一項還存在,只是為空了
?>

以上所述是小編給大家介紹的PHP變量傳值賦值和引用賦值變量銷毀詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • 詳解PHP的引用計數
  • php的對象傳值與引用傳值代碼實例講解
  • php傳值和傳引用的區別點總結
  • php 多個變量指向同一個引用($b = &$a)用法分析
  • php引用和拷貝的區別知識點總結
  • php中對象引用和復制實例分析
  • PHP實現無限極分類的兩種方式示例【遞歸和引用方式】
  • PHP函數按引用傳遞參數及函數可選參數用法示例
  • PHP 引用的概念

標簽:韶關 梅河口 十堰 昭通 甘肅 涼山 遼陽 九江

巨人網絡通訊聲明:本文標題《詳解PHP變量傳值賦值和引用賦值變量銷毀》,本文關鍵詞  詳解,PHP,變量,傳值,賦值,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解PHP變量傳值賦值和引用賦值變量銷毀》相關的同類信息!
  • 本頁收集關于詳解PHP變量傳值賦值和引用賦值變量銷毀的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 吉水县| 湛江市| 东港市| 盐津县| 凤山市| 临泽县| 名山县| 西林县| 溧水县| 永州市| 若羌县| 吉安县| 正定县| 大庆市| 尼玛县| 玉田县| 永康市| 北安市| 涪陵区| 都兰县| 文安县| 固阳县| 清涧县| 剑阁县| 景洪市| 万宁市| 长葛市| 遂昌县| 绵阳市| 章丘市| 浪卡子县| 周至县| 兴城市| 花莲市| 松滋市| 普定县| 蓝山县| 芦溪县| 威海市| 武强县| 织金县|