1. 程式人生 > >PHP_Day02_變數_值傳遞和引用傳遞的區別

PHP_Day02_變數_值傳遞和引用傳遞的區別

<?php
	/*
		介紹:變數的賦值,值傳遞和引用傳遞的區別
		作者:趙某~
		實踐:2018/11/4
	*/
	
	// 值傳遞
	$var1 = 'php';		# 定義兩個變數
	$var2 = 'C++';
	$var1 = $var2;		# 賦值
	echo '$var1 : '.$var1.'<----->'.'$var2 : '.$var2;	# 列印兩個變數,從結果可以看出兩個變數值一樣
	$var2 = 'Python';	# 改變其中一個變數的值
	echo '<br>';
	echo '$var1 : '.$var1.'<----->'.'$var2 : '.$var2;	# 再次列印,發現二者不同
	/*
		結論:值傳遞就是將一個變數的值拷貝一份並賦值給這個變數
			他們兩個互不影響,有自己的記憶體空間
	*/
	
	
	// 引用傳遞,用'&'符號
	echo '<hr>';
	$var3 = &$var1;		# 將變數var1的引用傳遞給變數$var3
	echo '$var1 : '.$var1.'<----->'.'$var3 : '.$var3;	# 列印結果,二者想用
	$var3 = 'Java';		# 改變其中一個變數的值
	echo '<br>';
	echo '$var1 : '.$var1.'<----->'.'$var3 : '.$var3;	# 再次列印,發現二者相同
	/*
		結論:引用傳遞傳遞的是地址,兩個變數共用一塊記憶體,相當於給一個變數起了一個別名
	*/
?>