加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php函数的常用方法及注意之处小结

发布时间:2020-05-24 19:29:13 所属栏目:PHP 来源:互联网
导读:为了方便ide的管理及代码提示功能,我们在所有函数命名时使用fun_开头

<div class="codetitle"><a style="CURSOR: pointer" data="60267" class="copybut" id="copybut60267" onclick="doCopy('code60267')"> 代码如下:<div class="codebody" id="code60267">
<?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,$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: 写好你的函数注释.
<div class="codetitle"><a style="CURSOR: pointer" data="51981" class="copybut" id="copybut51981" onclick="doCopy('code51981')"> 代码如下:<div class="codebody" id="code51981">
<?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.
当然这些真的可以很少用,不必太在意,特别是新学习者.
静态函数如下表示:
<div class="codetitle"><a style="CURSOR: pointer" data="29955" class="copybut" id="copybut29955" onclick="doCopy('code29955')"> 代码如下:<div class="codebody" id="code29955">
<?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的赋值.如此类推,数值不停地相加.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读