一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php函數的常用方法及注意之處小結

php函數的常用方法及注意之處小結

2019-12-04 11:17PHP教程網 PHP教程

為了方便ide的管理及代碼提示功能,我們在所有函數命名時使用fun_開頭

代碼如下:


<?php 
/** 
* @author Yuans 
* @copyright php.com 
* @package 函數的常用使用方法及特性. 
*/ 
# 基礎函數編寫注意點. 
// 為了方便ide的管理及代碼提示功能,我們在所有函數命名時使用fun_開頭. 
function fun_cutstr($str,$str_width=0,$str_pad='...'){ 
// 每個函數都得考慮一些異常的情況, 比如函數引入不對, 為0,為false等. 
// 由于外部期望返回截取字符后的字符,所以就算此函數不工作,也應該將它傳進來的值給返回. 
if(empty($str) === true || empty($str_width) === true) 
return $str; 
// 參數過濾 
$str_width += 0; 
// 保持一個原則, 盡量不要去污染原始參數, 
$return_str = mb_strcut($str,0,$str_width,'utf-8'); 
// 加強判斷, 如果return_str無法有值,由于是mb函數,許多服務器會無法執行. 
if(empty($return_str) === false){ 
return $return_str.$str_pad; 
}else{ 
return $str; 


echo fun_cutstr('aaaaaaaaaaaaaaaaaaaaaaaa',5); // out disply: "aaaaa..."; 
# 由于是utf-8編碼, 所以每個漢字為4字節, 此處將返回"我是..."; 
echo fun_cutstr('我是個技術工作者',8); 
# 或者我們需要考慮對函數的嚴重破壞,比如如下函數 
echo fun_cutstr(false); //out: false 
echo fun_cutstr('tbbbbbbbbs','aaaaaaaa'); // out: tbbbbbbbbs 
echo fun_cutstr('','aaaaaaaa'); //out: empty 
?> 


PHP函數的一些基礎知識 
A: 跟變量命名一樣,不可以內置函數名,不可以用數字來命名函數. 
B: 重復調用性. 
C: 支持靜態元素. 
D: 支持不固定參數 
個人建議技術員對函數做如下規范: 
A: 函數名建立分類前綴, 比如字符型的就str_xxx, 布爾型的就 bool_xxxx, 公共函數就 open_xxx 應用型的函數就 APP_xxxx, 臨時型的就 temp_xxx 
B: 函數的第一步請先判斷, 雖然有時自己知道一定會傳入某個類型的參數,但作為標準化來說, 先判斷再處理是為了程序的健壯也是為了安全. 
C: 不要污染原始變量, 如果你有項目經驗,有debug應用經驗,你就會明白. 
D: 引用函數盡量少用,占用內存非常大,損耗嚴重. 
E:不要用大寫來編寫代碼, 不要覺得很cool. 
F: 過份產生函數是一種退步的方式, 你可以思考著是否具有重復性, 是否需要包裝性, 隨意將過程封成函數不是明智之舉. 
G: 寫好你的函數注釋. 

復制代碼代碼如下:


<?php 
$b = &fun_cutstr('aaaaaaaaaaaaaaaaaaaaaaaa',5); // out disply: "aaaaa..."; 
fun_cutstr('cccccccccccccccccc',5); 
echo $b; 
?> 


引用函數將在php 5.3版本上無法正常運行, 6.0也最終將其拋棄, 理論上講echo $b,將會返回ccccc... 
$b引入了函數的地址, 為此函數的任何改變都會被賦值給$b. 
當然這些真的可以很少用, 不必太在意,特別是新學習者. 
靜態函數如下表示: 

復制代碼代碼如下:


<?php 
/** 
* @author Yuans 
* @copyright php.com 
* @package 函數的常用使用方法及特性. 
*/ 
# 靜態函數編寫注意點. 
function fun_static(){ 
static $a = 1; 
echo $a ++; 

fun_static(); 
fun_static(); 
fun_static(); 
?> 
static $a = 1; 僅會在第一次調用函數時執行, 表明它是個靜態, 第二次執行時, $a變量就是取回靜態的值, 而不會去執行$a = 1的賦值.如此類推, 數值不停地相加.<BR> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91aaa免费免费国产在线观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 欧美精品一区二区三区免费观看 | 奇米影视99| 国产露脸对白刺激3p在线 | 韩国禁片在线观看久 | 肉宠文很肉到处做1v1 | 男人肌肌捅女人 | 免费在线观看亚洲 | 天天操天天干天天舔 | 午夜亚洲WWW湿好爽 午夜想想爱午夜剧场 | 欧美调教打屁股spank视频 | 国产女王女m视频vk 国产农村一级特黄α真人毛片 | 亚洲一区 在线播放 | 欧美高清免费一级在线 | 欧美日韩国产精品综合 | aika跟黑人太猛了 | 日本高清中文字幕一区二区三区 | 成人免费福利网站在线看 | 国产专区视频在线观看 | 古代翁熄系小说辣文 | 国色天香社区在线视频播放 | 国产人成激情视频在线观看 | 扒开女人下面 | 国产成人小视频在线观看 | 兽皇日本 | 日韩在线一区二区三区 | 日本人啪啪 | 国产成人cao在线 | 91在线亚洲综合在线 | 欧美日韩亚洲国内综合网香蕉 | 成人在线观看一区 | 韩国三级 720p | 久久99精品久久久久久园产越南 | 福利一区在线观看 | 妹妹骑上来蹭着蹭着就射了 | 国内免费高清视频在线观看 | 扒开女人屁股眼看个够 | 亚洲无毛片 | 丁香六月婷婷激情 | 免费精品视频在线 |