php引用參數
1. 誰能給我講講php中的值傳遞和引用傳遞是怎麼回事,還有就是方法中帶參數有什麼用
值傳遞就是講某個值直接賦給某一個變數,如$a="wetrt"; 而引用傳遞通俗來講就是獲取變數的存儲地址,有了這個地址我就可以隨便更改變數的中的值了。例如:$b="舊值";function a(&$b){ $b="新的值";} 這樣的話你原來$b的值就被改為「新值」了,方法中帶參數肯定是用來向方法中傳遞某個信息了或者說你相對這個參數進行某些操作,比如function a($b){ echo $b;}試想你沒有這個參數變數$b,你怎麼辦?你總不可能上來直接就是function a(){ echo $b;}吧
2. php怎樣把文件中的參數值引入別的文件中使用
第一,include要用在Page類的構造函數_construct()里使用;
第二,var $pageRows=$a這種賦值不可能實現;
public $pageRows;賦值不能使變數
在構造函數中使用
include('config.php');
$this->pageRows = $a;
3. php引用傳遞中的&什麼意思,有什麼用
其實圖片中的文字已經描述得很詳細了,如果你是循序漸進學到這里的,應該是可以理解的啊。
加了&就是引用傳遞,就是把實參的內存地址傳遞給函數內部的形參,這樣的話函數內部對形參的任何修改都會直接影響到外部的實參,也就是說這種情況下實參和形參其實是同一個變數;
而不加&則是值傳遞,就是把實參的值傳遞給函數內部的形參,這時候函數內部對形參的任何修改都與外部的實參沒有任何關系,不會改變實參的值。
打個比方,值傳遞就好比你給某人100塊錢,然後他拿這錢去不管怎麼花都與你無關了;而引用傳遞則好比你把自己的銀行帳號密碼都告訴某人,那麼他此後用這賬號所做的任何消費行為都與你的總資產息息相關了!
4. php 引用
1, $a = 123; $array = array(); $array[1] =& $a; $abc = $array; // 此時$abc[1]仍然引用自$a,不會解除 $a = 456; // 重新為$a賦值456 echo $abc[1]; // 顯示為456 理解這個意思了吧, 無論是什麼樣的數組, 只要其中某個是引用自其它地方,它就會一直引用著, 只有$abc[1]重新賦值才會解除引用 ########################################################### 2, new是php的關鍵字, 用於實例化對象, new foobar()的意思是初始化一個對象, 而對象自身傳值是直接使用引用而不是傳值的, foo(new foobar())等於說將這個foobar類實例化之後將這個對象當作參數傳進foo函數 ########################################################### 3, $someref是一個示例變數名, 它可以是$_GET[1]也可以是$GLOBALS[a], 這樣它就可以是整個php程序中任何的有效存在的變數 例子只是例子, 用在實際程序中才有它的存在意義, 的確這例子舉的很缺智慧就是了,很遺憾你找了本爛書 $_GET[1] = 1; function &a() { $a = $_GET[1]; return $a; } $x =& a(); $x = 'MoontoC'; echo $_GET[1]; // 此時這里會顯示 MoontoC, 而不是最初賦值的1, 你明白其中的意義了嗎, 使用函數傳值時必須雙方都使用引用符號才有意義真正的引用過去, 而任何一邊少了引用符號, 都不會得到錯誤的內容, 但內容是傳值, 而不是傳引用了, 沒有程序基礎的人最初學php的確很難理解傳值和傳引用的重要性, 覺得反正都能得到自己要的東西, 其實不是的, 很多時候雖然得到的東西一樣, 但是代價卻完全不一樣, 一個長達200萬字的值, 被當作值傳送就是400萬字同時放在內存中待用, 多耗費一倍內存的意思,而傳引用就只是一個快捷方式傳送過去而已 ########################################################### 4, 還是同一個問題, 樓主沒搞清楚啥叫例子 這個例子中存在一個沒有寫出來的$foo對象, 而這個對象是寫在/* ...code */里的, 它的確存在, 但這是例子, 沒必要寫的如此完整, 並不是所有的教程都把例子寫的一字不漏的, 很多事情需要我們腦補-_- $foobar = new foo(); function &find_var($param) { $found_var = $GLOBALS['foobar']; return $found_var; } 此時例子就接近完整了 $foo =& find_var($bar);// 此時$foo 引用自$GLOBALS['foobar'], 也就是全局變數的$foobar $foo->x = 2; // 相當於 $foobar->x = 2; 樓主不理解$foo->x = 2;的意義, 看來是看教程還沒看到對象和類吧, 看到那的時候你會理解對象屬性的意義, 也就明白 $foo->x其實是foo對象其中一個屬性x, = 2是為這個屬性賦值
5. 請說明php中傳值與傳引用的區別.什麼時候傳值什麼
傳值,
是把實參的值賦值給行參
那麼對行參的修改,不會影響實參的值
傳引用
真正的以地址的方式傳遞參數
傳遞以後,行參和實參都是同一個對象,只是他們名字不同而已
對行參的修改將影響實參的值
所謂值傳遞,就是說僅將對象的值傳遞給目標對象,就相當於;系統將為目標對象重新開辟一個完全相同的內存空間。
所謂引用,就是說將對象在內存中的地址傳遞給目標對象,就相當於使目標對象和原始對象對應同一個內存存儲空間。此時,如果對目標對象進行修改,內存中的數據也會改變。
6. php如何引用flash中的變數
Flash向PHP傳直:1、loadVariables('url',
target
[,
variables])url是發送數據的目的文件路徑,target是發送或接收數據的目標MC,variables是傳遞的方式(POST或GET)。如:loadvariables("send.php",
_root,
"POST")2、loadVariablesNum("url",
level
[,
variables])與loadvariable()類似,不同之處在於第二個參數,這里是指定發送或接收的級別。如:loadVariablesNum("send.php",
0,
"GET")
7. php函數中傳引用參數可以設置默認值嗎
php函數
中傳引用參數可以設置默認值嗎
是這個樣子的,定義的參數與調用時的參數名稱可以不同。
帶默認值的就是指當這些參數沒有給出的時候可以按照預定義內容進行賦值。
function
text($i,
$a
=
"
test1
",
$test
=
"test2"){
echo
"
{$i}
";
echo
"
{$test1}
";
echo
"
{$test2}
";
}
8. php的class中怎樣引用外部的變數
用全局變數。
class MyClass {
public my_print() {
global $str;
print $str;
}
}
$str = 'Hello, World'.
$myclass = new MyClass();
$myclass->my_print();
9. php如何用標簽傳遞參數傳遞後如何接受該參數
寫法如下:
<a href='deal.php?id=5' >
在deal.php裡面:
用$_GET['id']來獲取
<?php
$result = $_GET["id"];
echo $result;
?>
10. 關於php調用文件及參數傳遞的問題
require相當於把指定文件的代碼換到當前位置,例如
//a.php
$a=1;
$b=2;
//b.php
$c=3;
require_once('a.php');
$d=4;
在執行b.php時,相當於b.php內容如下
$c=3;//b.php中原內容
$a=1;//a.php中的內容
$b=2;//a.php中的內容
$d=4;//b.php中原內容
就是替換的關系,所以變數是通用的,不需要任何傳值,可以理解為2個文件合並到一起
建議用require_once以防止多次循環引用出錯