-
匿名函數也叫閉包函數
查看全部 -
函數命名及應用注意事項
查看全部 -
參數中既有可選參數又有必選參數,必選參數必須在可選參數之前
-
查看全部 -
函數只可以有0個或者一個返回值,如果想返回多個值可以通過返回數組或對象實現
函數執行到return立刻結束
無return默認返回NULL
查看全部 -
檢測函數名稱是否存在的函數:
function_exists($行數名稱);
存在則返回true,否則返回false;
var_dump();打印代碼類型和值
查看全部 -
函數名稱——駝峰明命名——函數名稱不區分大小寫
<hr/> ——橫線??? <br/>——換行
函數不支持重載
查看全部 -
這里的意思是,可變函數不能用于語言結構這幾個函數,即$a='echo';
然后調用$a($b);查看全部 -
PHP中的語言結構詳解
1.什么是語言結構?
語言結構:就是PHP語言的關鍵詞,語言語法的一部分;它不可以被用戶定義或者添加到語言擴展或者庫中;它可以有也可以沒有變量和返回值。?
2.語言結構執行速度快的原因?
函數都要先被PHP解析器(Zend引擎)分解成語言結構,所以,函數比語言結構多了一層解析器解析,速度就相對慢了?
3.php中語言結構有哪些?
echo()?
print()?
die()?
isset()?
unset()?
include(),注意,include_once()是函數?
require(),注意,require_once()是函數?
array()?
list()?
empty()?
4.怎樣判斷是語言結構還是函數?
使用function_exists?
eg:function?check($name){ ????if(function_exists($name)){????????echo?$name.'為函數'; ????}else{????????echo?$name.'為語言結構'; ????} }1234567
5.語言結構與函數的區別?
1.語言結構比對應功能的函數快?
2.語言結構在錯誤處理上比較魯棒,由于是語言關鍵詞,所以不具備再處理的環節?
3.語言結構不能在配置項(php.ini)中禁用,函數則可以。?
4.語言結構不能被用做回調函數備注:?
php.ini中怎樣禁用函數??
php.ini中查找 disable_functions =?
在等于后添加函數名,多個函數名用,分割?
比如?
disable_functions =?
exec,passthru,popen,proc_open,shell_exec,system,chgrp,chmod,chown查看全部 -
/*
?*默認產生4位的數字的驗證碼
?*type = 1 數字
?*type = 2 字母
?*type = 3 數字加字母
?*可以改變驗證碼長度
?* @param int $type 默認:1
?* @param int $lenght 默認長度:4位數
*/
function getCode($type = 1, $lenght = 4){
?? ?$code = '';
?? ?$arr = [];
?? ?switch ($type) {
?? ??? ?case '1':
?? ??? ??? ?$arr = array_merge(range(0, 9));
?? ??? ??? ?$arr_len = count($arr);
?? ??? ??? ?for($i=0; $i<=$lenght-1; $i++){
?? ??? ??? ??? ?$mt = mt_rand(0, $arr_len-1);
?? ??? ??? ??? ?$code .= $arr[$mt];
?? ??? ??? ?}
?? ??? ??? ?return $code;
?? ??? ??? ?break;
?? ??? ?case '2':
?? ??? ??? ?$arr = array_merge(range('a', 'z'),range('A', 'Z'));
?? ??? ??? ?$arr_len = count($arr);
?? ??? ??? ?for ($i=0; $i<=$lenght-1; $i++) {
?? ??? ??? ??? ?$mt = mt_rand(0, $arr_len-1);
?? ??? ??? ??? ?$code .=$arr[$mt];
?? ??? ??? ?}
?? ??? ??? ?return $code;
?? ??? ??? ?break;
?? ??? ?case '3':
?? ??? ??? ?$arr = array_merge(range(0, 9), range('a', 'z'), range('A', 'Z'));
?? ??? ??? ?$arr_len = count($arr);
?? ??? ??? ?for ($i=0; $i<=$lenght-1 ; $i++) {
?? ??? ??? ??? ?$mt = mt_rand(0, $arr_len-1);
?? ??? ??? ??? ?$code .=$arr[$mt];
?? ??? ??? ?}
?? ??? ??? ?return $code;
?? ??? ??? ?break;
?? ?}
}查看全部 -
函數必選參數的基礎知識講解,必選參數也叫形參
查看全部 -
函數“可選參數”的基礎講解,可選參數也叫實參
查看全部 -
/** ?*?@param?int?$type?[驗證碼類型:?1.數字?2.字母?3.數字字母混合] ?*?@param?int?$len?[驗證碼長度]? ?*?@return?string?[?返回驗證碼] ?*/ function?verificationCode($type?=?1,?$len?=?6)?{ ????$num?=?range(0,?9); ????$str?=?array_merge(range('a',?'z'),?range('A',?'Z')); ????$code?=?''; ???? ????for($i?=?0;?$i?<?$len;?$i++)?{ ????????switch($type)?{ ????????????case?1: ????????????????$code?.=?mt_rand(0,?9); ????????????????break; ????????????case?2: ????????????????$code?.=?$str[mt_rand(0,?51)]; ????????????????break; ????????????case?3: ????????????????$code?.=?array_merge($num,?$str)[mt_rand(0,?61)]; ????????????????break; ????????} ????} ????return?$code; } echo?verificationCode(3,?6);
查看全部 -
遞歸函數:調用自身
查看全部 -
匿名函數:? 沒有函數的名的函數,通常是通過回調函數方式來使用;可以不需要定義,直接的使用時定義結構
查看全部 -
匿名函數
查看全部
舉報