php函数的常用方法及注意之处小结
2015-01-24信息快讯网
为了方便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>
php代码中使用换行及(\n或\r\n和br)的应用
PHP常用特殊运算符号和函数总结(php新手入门必看)
php验证手机号码(支持归属地查询及编码为UTF8)
PHP数组传递是值传递而非引用传递概念纠正
PHP5.4中json_encode中文转码的变化小结
PHP获取数组中某元素的位置及array_keys函数应用
PHP输出时间差函数代码
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
php删除文件夹及其文件夹下所有文件的函数代码
PHP中CURL方法curl_setopt()函数的参数分享
thinkphp3.0 模板中函数的使用
Thinkphp模板中使用自定义函数的方法
PHP中extract()函数的定义和用法
PHP中extract()函数的妙用分析
7个超级实用的PHP代码片段
PHP 数据结构 算法描述 冒泡排序 bubble sort
PHP中获取变量的变量名的一段代码的bug分析
PHP的一个基础知识 表单提交
php与mysql建立连接并执行SQL语句的代码
PHP全概率运算函数(优化版) Webgame开发必备
php高级编程-函数-郑阿奇
PHP array_multisort()函数的使用札记
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
在smarty模板中使用PHP函数的方法
fleaphp crud操作之find函数的使用方法