Heim > Backend-Entwicklung > PHP-Tutorial > 关于php的unset

关于php的unset

WBOY
Freigeben: 2016-06-23 14:31:32
Original
750 Leute haben es durchsucht

php的unset很特别。

简单的说:

参考php手册:

<?php/* Imagine this is memory map ______________________________|pointer | value | variable              | -----------------------------------|   1     |  NULL  |         ---           ||   2     |  NULL  |         ---           ||   3     |  NULL  |         ---           ||   4     |  NULL  |         ---           ||   5     |  NULL  |         ---           |------------------------------------Create some variables   */$a=10;$b=20;$c=array ('one'=>array (1, 2, 3));/* Look at memory _______________________________|pointer | value |       variable's       | -----------------------------------|   1     |  10     |       $a               ||   2     |  20     |       $b               ||   3     |  1       |      $c['one'][0]   ||   4     |  2       |      $c['one'][1]   ||   5     |  3       |      $c['one'][2]   |------------------------------------do  */$a=&$c['one'][2];/* Look at memory _______________________________|pointer | value |       variable's       | -----------------------------------|   1     |  NULL  |       ---              |  //value of  $a is destroyed and pointer is free|   2     |  20     |       $b               ||   3     |  1       |      $c['one'][0]   ||   4     |  2       |      $c['one'][1]   ||   5     |  3       |  $c['one'][2]  ,$a | // $a is now here------------------------------------do  */$b=&$a;  // or  $b=&$c['one'][2]; result is same as both "$c['one'][2]" and "$a" is at same pointer./* Look at memory _________________________________|pointer | value |       variable's           | --------------------------------------|   1     |  NULL  |       ---                  |  |   2     |  NULL  |       ---                  |  //value of  $b is destroyed and pointer is free|   3     |  1       |      $c['one'][0]       ||   4     |  2       |      $c['one'][1]       ||   5     |  3       |$c['one'][2]  ,$a , $b |  // $b is now here---------------------------------------next do */unset($c['one'][2]);/* Look at memory _________________________________|pointer | value |       variable's           | --------------------------------------|   1     |  NULL  |       ---                  |  |   2     |  NULL  |       ---                  |  |   3     |  1       |      $c['one'][0]       ||   4     |  2       |      $c['one'][1]       ||   5     |  3       |      $a , $b              | // $c['one'][2]  is  destroyed not in memory, not in array---------------------------------------next do   */$c['one'][2]=500;    //now it is in array/* Look at memory _________________________________|pointer | value |       variable's           | --------------------------------------|   1     |  500    |      $c['one'][2]       |  //created it lands on any(next) free pointer in memory|   2     |  NULL  |       ---                  |  |   3     |  1       |      $c['one'][0]       ||   4     |  2       |      $c['one'][1]       ||   5     |  3       |      $a , $b              | //this pointer is in use---------------------------------------lets tray to return $c['one'][2] at old pointer an remove reference $a,$b.  */$c['one'][2]=&$a;unset($a);unset($b);   /* look at memory _________________________________|pointer | value |       variable's           | --------------------------------------|   1     |  NULL  |       ---                  |  |   2     |  NULL  |       ---                  |  |   3     |  1       |      $c['one'][0]       ||   4     |  2       |      $c['one'][1]       ||   5     |  3       |      $c['one'][2]       | //$c['one'][2] is returned, $a,$b is destroyed--------------------------------------- ?>I hope this helps. 
Nach dem Login kopieren

如此便能够说明php 的 unset是如何进行的。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage