您好,欢迎访问一九零五行业门户网

关于php的unset

php的unset很特别。
简单的说:
参考php手册:
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.
如此便能够说明php 的 unset是如何进行的。
其它类似信息

推荐信息