復(fù)制代碼 代碼如下:
<?php
$param1=1; //定義變量1
$param2=2; //定義變量2
$param2 = $param1; //變量1賦值給變量2
echo $param2; //顯示為1
?>
復(fù)制代碼 代碼如下:
<?php
$param2=1; //定義變量2
$param1 = &$param2; //將變量2的引用傳給變量1
echo $param2; //顯示為1
$param1 = 2; //把2賦值給變量1
echo $param2; //顯示為2
?>
復(fù)制代碼 代碼如下:
<?php
//傳值
$param1 = 1; //定義變量1
function add($param2) //傳參數(shù)
{
$param2=3; //把3賦值給變量2
}
$param3=add($param1); //調(diào)用方法add,并將變量1傳給變量2
echo '<br>$param1=='.$param1.'<br>'; //顯示為$param1==1
echo '<br>$param2=='.$param2.'<br>'; //顯示為$param2== 因為$param2是局部變量,所以不能影響全局
echo '<br>$param3=='.$param3.'<br>'; //顯示為$param3== 因為add方法沒有返回值,所以$param3為空
?>
復(fù)制代碼 代碼如下:
<?php
//傳值
$param1 = 1; //定義變量1
function add(&$param2) //傳參數(shù)
{
$param2=3; //把3賦值給變量2
// return $param2; //返回變量2
}
echo '<br>$param1=='.$param1.'<br>'; //顯示為$param1==1 沒對變量1進(jìn)行操作
$param3=add($param1); //調(diào)用方法add,并將變量1的引用傳給變量2
echo '<br>$param1=='.$param1.'<br>'; //顯示為$param1==3 調(diào)用變量過程中,$param2的改變影響變量1,雖然沒有return
echo '<br>$param2=='.$param2.'<br>'; //顯示為$param2== 因為$param2局部變量,所以不能影響全局
echo '<br>$param3=='.$param3.'<br>'; //顯示為$param3== 如果把方法里面的return注釋去掉的話就為$param3==3
?>
復(fù)制代碼 代碼如下:
<?php
//傳引用
$param1 = 1;
function &add(&$param2)
{
$param2 = 2;
return $param2;
}
$param3=&add($param1);
$param4=add($param1);
echo '<br>$param3=='.$param3.'<br>'; //顯示為$param3==2
echo '<br>$param4=='.$param4.'<br>'; //顯示為$param4==2
echo '<br>$param1=='.$param1.'<br>'; //顯示為$param1==2 調(diào)用變量過程中,$param2的改變影響變量1
$param3++;
/*下面顯示為$param1==3,這是因為$param2和$param1引用到同一個地方,
* 返回值前面加了地址符號還是一個引用$param3=&add($param1);
* 這樣$param3,$param2和$param1引用到同一個地方,當(dāng)$param3++;時,
* $param1會被改變*/
echo '<br>$param1=='.$param1.'<br>';
$param4++;
/* 下面顯示為$param1==3,這里為什么是3而不是4呢,這是因為返回值前面沒有
* 地址符號,它不是一個引用所以當(dāng)$param4改變時不會影響$param1*/
echo '<br>$param1=='.$param1.'<br>';
?>
新聞熱點
疑難解答