PHP 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷指锟斤拷同一锟斤拷锟斤拷锟捷★拷锟斤拷思锟角o拷锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷
<?php
$a =& $b;
?>
Note:
$a 锟斤拷 $b 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷全锟斤拷同锟侥o拷锟解并锟斤拷锟斤拷 $a 指锟斤拷锟斤拷 $b 锟斤拷锟斤拷锟洁反锟斤拷锟斤拷锟斤拷 $a 锟斤拷 $b 指锟斤拷锟斤拷同一锟斤拷锟截凤拷锟斤拷
Note:
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷玫锟斤拷锟斤拷楸伙拷锟斤拷锟斤拷锟斤拷锟街碉拷锟斤拷锟斤拷锟斤拷锟斤拷谩锟斤拷锟斤拷锟斤拷锟斤拷榇碉拷锟斤拷锟斤拷锟揭诧拷锟斤拷锟剿★拷
Note:
锟斤拷锟斤拷锟揭伙拷锟轿达拷锟斤拷锟侥憋拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫革拷值锟斤拷锟斤拷锟矫诧拷锟斤拷锟斤拷锟捷伙拷锟斤拷锟矫凤拷锟截o拷锟斤拷锟斤拷远锟斤拷锟斤拷锟斤拷帽锟斤拷锟斤拷锟�
Example #1 锟斤拷未锟斤拷锟斤拷谋锟斤拷锟绞癸拷锟斤拷锟斤拷锟�
<?php
function foo(&$var) { }
foo($a); // $a is "created" and assigned to null
$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)
$c = new StdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>
同锟斤拷锟斤拷锟斤法锟斤拷锟斤拷锟斤拷锟节猴拷锟斤拷锟叫o拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫o拷锟皆硷拷锟斤拷锟斤拷 new 锟斤拷锟斤拷锟斤拷校锟絇HP 4.0.4 锟皆硷拷锟皆猴拷姹撅拷锟斤拷锟�
<?php
$bar =& new fooclass();
$foo =& find_var($bar);
?>
Note:
锟斤拷锟斤拷 & 锟斤拷锟斤拷锟斤拷锟斤拷露锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 $this锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟节革拷锟洁当前锟斤拷实锟斤拷锟斤拷没锟斤拷锟斤拷 & 锟侥革拷值锟斤拷锟斤拷锟斤拷锟斤拷锟绞碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟襟)诧拷锟斤拷 $this 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷希锟斤拷獠拷锟斤拷锟斤拷锟斤拷锟揭拷慕锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟杰猴拷锟节达拷锟斤拷锟侥碉拷锟斤拷锟解,通锟斤拷只锟诫工锟斤拷锟斤拷一锟斤拷实锟斤拷锟斤拷锟芥。
锟斤拷锟杰匡拷锟斤拷锟斤拷 @ 锟斤拷锟斤拷锟斤拷锟�锟斤拷锟斤拷锟斤拷锟届函锟斤拷锟叫碉拷锟轿何达拷锟斤拷锟斤拷息锟斤拷锟斤拷锟斤拷锟斤拷 @new锟斤拷锟斤拷锟斤拷 &new 锟斤拷锟绞憋拷獠伙拷锟叫э拷锟斤拷锟斤拷锟斤拷锟� Zend 锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷撇锟斤拷一岬硷拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟�
锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷诓锟斤拷锟揭伙拷锟斤拷锟斤拷锟轿� global 锟侥憋拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟矫o拷锟斤拷锟斤拷锟斤拷只锟节猴拷锟斤拷锟节诧拷锟缴硷拷锟斤拷锟斤拷锟斤拷通锟斤拷使锟斤拷 $GLOBALS 锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷恪�
Example #2 锟节猴拷锟斤拷锟斤拷锟斤拷锟斤拷全锟街憋拷锟斤拷
<?php
$var1 = "Example variable";
$var2 = "";
function global_references($use_globals)
{
global $var1, $var2;
if (!$use_globals) {
$var2 =& $var1; // visible only inside the function
} else {
$GLOBALS["var2"] =& $var1; // visible also in global context
}
}
global_references(false);
echo "var2 is set to '$var2'\n"; // var2 is set to ''
global_references(true);
echo "var2 is set to '$var2'\n"; // var2 is set to 'Example variable'
?>
Note:
锟斤拷锟斤拷锟� foreach 锟斤拷锟斤拷懈锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷玫谋锟斤拷锟斤拷锟街碉拷锟斤拷锟斤拷锟斤拷玫亩锟斤拷锟揭诧拷锟斤拷谋洹�
Example #3 锟斤拷锟斤拷锟斤拷 foreach 锟斤拷锟�
<?php
$ref = 0;
$row =& $ref;
foreach (array(1, 2, 3) as $row) {
// do something
}
echo $ref; // 3 - last element of the iterated array
?>
锟斤拷锟斤拷锟斤拷锟侥第讹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫达拷锟捷憋拷锟斤拷锟斤拷锟斤拷锟斤拷通锟斤拷锟节猴拷锟斤拷锟节斤拷锟斤拷一锟斤拷锟斤拷锟截憋拷锟斤拷锟斤拷锟揭该憋拷锟斤拷锟节猴拷锟叫凤拷围锟斤拷锟斤拷锟斤拷锟斤拷同一锟斤拷锟斤拷锟斤拷锟斤拷实锟街的★拷锟斤拷锟界:
<?php
function foo(&$var)
{
$var++;
}
$a=5;
foo($a);
?>
锟斤拷锟斤拷锟斤拷锟侥碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫凤拷锟斤拷锟斤拷