php中的变量赋值都是复制,但是有一个引用的例子,因为看手册的时候注意到了,在这里记下一笔
$arr = array('name'=>'baixiaoshi','age'=>23);
echo '<pre>';
print_r($arr);
echo '</pre>';
$arr2 = $arr;
//结果Array
/*(
[name] => baixiaoshi
[age] => 23
)*/
$arr2['hobby'] = 'run';
echo '<pre>';
print_r($arr2);
echo '</pre>';
//结果
//Array
/*(
[name] => baixiaoshi
[age] => 23
[hobby] => run
)*/
但是你看下面神奇的globals这个超全局变量,默认赋值的却是引用,
$_POST['A'] = 'B';
$nonReferencedPostVar = $_POST;
$nonReferencedPostVar['A'] = 'C';
echo 'POST: '.$_POST['A'].', Variable: '.$nonReferencedPostVar['A']."\n\n";
//输出结果POST: B, Variable: C
// Testing Globals
$GLOBALS['A'] = 'B';
$nonReferencedGlobalsVar = $GLOBALS;
$nonReferencedGlobalsVar['A'] = 'C';
echo 'GLOBALS: '.$GLOBALS['A'].', Variable: '.$nonReferencedGlobalsVar['A']."\n\n";
//输出结果
// GLOBALS: C, Variable: C