導航:首頁 > 編程語言 > php調用對象函數參數

php調用對象函數參數

發布時間:2022-11-17 03:28:19

1. php函數調用參數的問題,主要是參數數量不確定。

參數不確定的情況下敢不敢把所有的參數和值按照key=>value的性質組織成數組,然後json_encode一下,函數調用的時候傳遞一個參數,參數的值就是這個json,然後過去再把json_decode成數組?你覺得呢?

2. php中類的構造函數參數問題

其實很多OOP語言都差不多,對於對象的傳遞是引用,如果你不想對象被引用,那你需要把對象clone一個新對象。 字串與數值的是值傳遞。

3. PHP調用類的函數&session傳遞對象問題

使用SESSION存儲的對象時,需要載入該對象所屬類的定義。在你的例子中,SESSION中的對象為a的實例,你必須包含定義類a的文件,否則對象會失效。即會得到不完整類PHP_Incomplete_Class。這個類類似於stdClass,失去了原有對象定義的方法。

望採納,謝謝支持!

4. php對象:對象傳入函數問題

函數在調用的時候,參數會被重新開辟內存空間的。
也就是說:

你傳值穿的是$p1,但在函數test運行的時候會另開辟一個空間,復制一遍$p1,之後再函數中操作的內存都是這個函數新開辟的空間。在這個函數test消亡的時候,這個空間被釋放。

所以說你這個根本就沒有修改了$p1的值,只是復制了一遍,然後改了,然後刪了。

如樓上說的,如果你在參數前面加上"&"符號,這個叫引用。則在參數運行的時候不會另外的開辟內存空間,而是用你的參數的內存空間。

對於函數你可以看看c或者c++語言的函數部分,他們是一樣的。給你個例子:
<?php
function swap(&$a,$b){//$a$b叫形參,只是在表示第一個參數第二個參數
$a=20;
$b=10;
}
$x=10;
$y=20;
swap($x,$y);//swap中第一個參數是帶引用的,被改變了值,第二個參數沒有引用,並不會改變參數的值
echo "x=".$x." y=".$y;//結果 x=20 y=20
?>

5. php 函數參數問題

直接return $rows就行了

6. php調用函數時,使用某個參數的前面的參數默認值時,應該怎麼處理

PHP不支持這種調用方式,你的需求是不能實現的。
如果你不能改動函數,那麼你可以做一個封裝。PHP的語法比較靈活,有幾種替代方式你可以借鑒。這些例子都有廣泛的應用。
示例一:如果參數值為null,則在函數里強制賦值為默認值

1
2
3
4
5
6
7
8

<?php
function foo2($a=1,$b=2,$c=3) {
if ($a === null) $a=1;
if ($b === null) $b=2;
if ($c === null) $c=3;
foo($a, $b, $c);
}
foo(1, null, 3);

示例二:使用數組參數

<?php
function foo3($array=array()) {
extract($array);
if (!isset($a)) $a=1;
if (!isset($b)) $b=2;
if (!isset($c)) $c=3;
foo($a, $b, $c);
}
foo(array('a'=>1, 'c'=>3));

python是支持你所說的那種調用方式的:

def foo(a=1, b=2, c=3):
pass
foo(a=1, c=3)

7. php對象調用類的函數

調用方法getdir返回字元串,但沒有輸出到頁面顯示,也沒有賦值操作,不知道有什麼用

方法img2data定義中的$imgfrom($imgsrc);這一句完全沒看懂,在我的水平上理解這種寫法是錯的。

方法_imgfrom定義中getimagesize這個函數不知道來自哪兒。

總結:太混亂了。

類中訪問內部屬性和方法,要用$this->屬性名/方法名

8. PHP函數方法里的參數可以是本函數對象嗎,QueryResponse Query(Query $parameters)這個函數我一直沒明白

QueryResponse Query (Query $parameters)
‖ ‖ ‖ ‖
返回值類型 方法名 參數類型 參數

9. php如何調用函數

PHP函數調用與Java/C/C++是一樣的額,通過函數名(參數列表)就可以了,

舉個栗子:

圖中,有兩處函數調用,一開始的session_start()是調用的PHP函數,validate_user($username, $password)是用戶自定義函數,同樣的方式調用。

10. php中在外部怎樣調用函數裡面的參數

你這是一個類方法么,如果是你可以用

$result=array();
functiongetResult($ret,$i=0){
foreach($retas$k=>$v){
global$resultaaa;
$tmp=array();
$tmp["col_id"]=$v["col_id"];
$tmp["col_pid"]=$v["col_pid"];
$tmp["col_path"]=$v["col_path"];
$tmp["col_title"]=$v["col_title"];
$this->result[$i++]=$tmp;
if($v['k']!=NULL){
$i=$this->getResult($v['k'],$i);
}
}
return$i;
}

$this->result;

如果不是類方法,你的$i = $this->getResult($v['k'],$i); 這一句是錯誤的,

你可以參考風雲style的答案,或者增加一個傳址參數

functiongetResult($ret,$i=0,&$result = array()){}

外面直接用$result 就是方法裡面修改後的變數

閱讀全文

與php調用對象函數參數相關的資料

熱點內容
網盤忘記解壓碼怎麼辦 瀏覽:852
文件加密看不到裡面的內容 瀏覽:651
程序員腦子里都想什麼 瀏覽:430
oppp手機信任app在哪裡設置 瀏覽:185
java地址重定向 瀏覽:268
一年級下冊摘蘋果的演算法是怎樣的 瀏覽:448
程序員出軌電視劇 瀏覽:88
伺服器系統地址怎麼查 瀏覽:54
解壓游戲發行官 瀏覽:601
國外小伙解壓實驗 瀏覽:336
頂級大學開設加密貨幣 瀏覽:437
java重載與多態 瀏覽:528
騰訊應屆程序員 瀏覽:942
一鍵編譯程序 瀏覽:129
語音加密包哪個好 瀏覽:340
有什麼學習高中語文的app 瀏覽:283
安卓手機的表格里怎麼打勾 瀏覽:411
阿里雲伺服器有網路安全服務嗎 瀏覽:970
超解壓兔子視頻 瀏覽:24
單片機怎麼測負脈沖 瀏覽:176