• php函数的常用使用及注意之处


    简介:这是php函数的常用使用及注意之处的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=340630' scrolling='no'>
    <?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的赋值.如此类推, 数值不停地相加.

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/340630.html pageNo:7
  • 相关阅读:
    MySQL for Linux错误: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    Git SSH Key 生成步骤
    百度陆奇最新内部演讲:如何成为一个优秀的工程师?
    Apple使用Apache Mesos重建Siri后端服务
    剖析Elasticsearch集群系列第一篇 Elasticsearch的存储模型和读写操作
    ElasticSearch VS Solr
    聊聊基于Lucene的搜索引擎核心技术实践
    如何安全的存储用户密码?
    MySQL 性能管理及架构设计指南
    大牛是怎么思考设计MySQL优化方案
  • 原文地址:https://www.cnblogs.com/ooooo/p/2245226.html
Copyright © 2020-2023  润新知