php函式引數傳遞的思考

2021-08-23 11:44:29 字數 500 閱讀 4162

按我以前一直的想法,php中除了簡單變數,其他應該是都是按引用傳遞函式引數的

於是做了乙個實驗,有點意外

<?php

$a=array('s'=>1);

function s($array)

s($a);

echo $a['s'];//結果是1

?>

這個例子至少說明了在php中陣列是按值傳遞的

<?php

class obj

}function s($obj)

$test=new obj();

s($test);

echo $test->s;//結果是100

?>

物件引數的傳遞和原想的一樣是 引用傳遞的

在很多陣列引數的情況下如果合理用好&進行引用傳遞估計對效率的提高還是不少的

PHP函式傳遞引數方式

函式構成 function name 引數 函式命令 可能有return 呼叫函式的時候 a name b 寫函式時候的引數名,和實際呼叫時的引數名,沒有必然聯絡。函式呼叫時候,如果是普通的變數引數 字元 整形 浮點 陣列 是直接去的這個變數引數的值,傳遞進函式中進行運算,不會對函式外的引數進行修改...

php中函式引數傳遞

php中函式引數傳遞有形參傳遞 借用c語言等程式語言的說法 即就是把變數的值賦值給函式的引數,對函式引數所做的一切操作都與原始變數無關。php function testx b a 5 c testx a print r a 5 print r c 3而址傳遞 引用傳遞 則是把變數的位址給函式的引數...

PHP傳遞任意數量的函式引數

下面這個示例向你展示了php函式的預設引數 兩個預設引數的函式 function foo arg1 arg2 foo hello world 輸出 arg1 hello arg2 world foo 輸出 arg1 arg2 下面這個示例是php的不定引數用法,其使用到了 func get args...