function
parameter($a
,$b)//argument
parameter(1
);warning: missing argument 2
forparameter()
parameter(1
,2,3
);沒問題
函式呼叫完,形參就隨著函式離去了
但是實參呢,還是一直保留
傳進去的 引數可以是表示式,但是函式定義的時候,形參不可以是表示式
function
youknow($b
,$c)$a
=123;$b
=456
;youknow($a
+$b,2
,3);
比如定義乙個資料庫,預設的賬號密碼,還有dsn是固定的對吧,就可以做乙個預設值,這樣就不需要每次都傳進去了
functionhi(
$a1=1,
$a2=2,
$a3=3)
hi(null,22
,undefined)
;
最好把要當做預設值的放在最後邊吧,不然每次都用個null,用null吧,又會把預設值改了
function
greet_to_someone
($name
,$is_normal
=false
)else
}greet_to_someone
('lily',1
);
echo
1236
+'aaa';=
1236
//字串不見了
echo
1236
+'1aaa';=
1237
echo
'aa234'
+'a1aaa'
;echo
'aa234'
,'a1aaa'
;第乙個是等於0
第二個是等於字串拼接
如果我告訴你,我要的是int,你要是敢給我乙個float,那就叫php終止執行
function
aandb($a
,$b)echo
aandb(1
,2);
// 現在宣告,傳進來的兩個引數一定需要是int
//不過這個時候,你傳乙個浮點進來,他回話造成資料丟失。
function
aandb2
(int $a
,int $b
)echo
aandb2
(1.2,2
);//現在告訴php,如果我要是int,你傳進來非int,那就直接丟擲錯誤,防止造成資料精度丟失
declare
(strict_types=1)
;function
aandb3
(int $a
,int $b
)echo
aandb3
(1.2,2
);
這個null就這麼厲害?無論我指定什麼型別,都是傳乙個null進來,坑哦
也就是說,傳進來的引數不確定是多少個,有可能有,也可能沒有,有可能多,也有可能少
function
changenumbers(.
..$numbers
)else
return
$temp;}
}echo
changenumbers(1
,2,3
,4,5
,6,7
,8,9
);
值傳遞,
只能是實參傳遞給形參,但是形參呢,修改不了函式外邊的實參,
當然你用globals,global這兩個超全域性變數就可以了
$a
=123
;function
test($a
)echo
test
(123);
echo
"\n",$a
;這個世上,$a變成了
引用傳遞有點類似與c的指標
&引用傳遞還是有作用域的,並沒有辦法說乙個指標指完天下的
在a檔案宣告的變數,在函式內,類內,以及其他檔案內。都是失效的,
在函式內宣告的變數,只在函式內有效,
在類宣告的屬性(不叫變數了,呵呵),只在該類有效,不過繼承之後好像是public的可以???
如果a檔案引用了b檔案,那邊裡邊的所有定義的變數還有函式,以及類。都可以在a裡邊用啦
不信看圖
4. 區域性變數
5. 全域性變數
如果在乙個函式內部給乙個宣告為 global 的變數賦於乙個引用,該引用只在函式內部可見。可以通過使用 $globals 陣列避免這一點。
靜態變數static
跟c的很像
函式執行完畢,裡邊的變數就會被釋放掉,
如果不想要裡邊的資料被釋放,可以用globals超全域性變數,或者說用static
然後再試試先進的static
假如沒有用這兩個辦法來干預,看看會如何
不過static賦值的時候,不可以是函式表示式。
看看globals能不能是函式表示式。
或者直接static =$aa?
也不可以是函式的哦。沒辦法,static就規規矩矩來乙個常量就好了。
Python 函式引數相關
python 函式引數相關 自己做的筆記,初學python,難免有錯誤。在呼叫函式時,位置引數只能用在關鍵字引數之前。使用了關鍵字引數,之後的引數只能用關鍵字引數。關鍵字引數順序可以打亂。def test a,b,c pass tes 5,b 10,c 15 定義函式時,使用引數預設值,要放在形參列...
安全相關的PHP函式
1.mysql real escape string 這個函式對於在php中防止sql注入很有幫助,它對一些特殊字元像單引號雙引號,加上反斜槓 注意是在連線著資料庫的情況下使用 確保查詢之前資料是安全的。現在更多的 應用會用類似pdo這樣的庫對資料庫進行操作,而且一些框架tp或ci都可以防止sql注...
php陣列相關的函式
具體使用看php手冊 排序函式 按照ascll比較 sort arr 順序排序 下標重排 rsort arr 逆序排序 asort arr 順序排序 保留下標關係 arsort arr 逆序排序 ksort arr 順序排序 按照鍵名 下標 排序 krsort arr 逆序排序 shuffle ar...