1.21(函数)

Posted AR13

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.21(函数)相关的知识,希望对你有一定的参考价值。

自定义函数

{echoDrangon() // 执行代码块}

局部动态变量
    static //局部静态变量,运行完成后并没有被释放掉
    当有值的时候不再声明

全局变量 
    global 声明可使用全局变量

值的引用和传递
    $a = 2;
    function change(&$c){
        $c = 5;
    }
    change($a);
    echo $a; //5
    // & 把$a的地址拿过来,再给与赋值
    -------------------
    普通函数定义指向的是栈内存
    -------------------
    对象指向的是堆内存
    $obj = new stdClass();
    $obj -> a = 3;
    function change($o){
        $o -> b = 5;
    }
    change($obj);
    print_r ($obj);
    // stdClass Object ( [a] => 3 [b] => 5 )
    -------------------
    
参数的默认值
    function test($a=5, $b=6){
        echo $a;
        
    }
    test()
    //5
    
可变参数列表
    func_get_arg — 返回参数列表的某一项 
    func_num_arg 
    
参数的类型
    function test(callable $a){  //callable 回调类型 || 指定回调类型,如果没有的情况下会报错~!
    $a();
    }
    function callback(){
       echo ‘你好‘;
    } 
    test(‘callback‘); //你好
    
可变函数
    function test(){
        echo ‘hello‘;
    }
    $func = ‘test‘;
    if( is_callable($func) ){
        // 判断是否有这个回调函数
        $func();
    }
    if( function_exists($func)){
        $func();
    }

函数潜嵌套
    function a(){
        function b(){
            echo ‘hello‘;
        }
    }
    a();  // 空
    b(); //hello
    
    -------------------------------
    
    function a(){
    $a = ‘5‘;   //定义在a()当中,其他函数无法获取
    function b(){
        echo $a;
    }
    }
    a();  // 空
    b(); // 报错
    
匿名函数
    function test(){
    $info = ‘hello‘;
    $say = function ($str) use ($info){  //通过use 得到外层的变量
       echo $info;
       echo $str; 
    };
    $say(‘hello word‘);
   }
   test(); 
   

系统函数

字母大写
    
    strtolower — 将字符串转化为小写 
    strtoupper — 将字符串转化为大写 
    ucfirst
        //将橘子首字母转换为大写
    unwords
        //将每个单词的首字母转换为大写字母

字符串替换
    str_replace
        $body = ‘hello word‘
        str_replace(‘o‘,‘q‘,$body);
        //hellq wqrd
    str_ireplace 
        忽略大小写
        
转换为html实体
    {htmlspecialchars}
    
删除空格
    ltrim
        //删除左边的空格
    $body = ltrim($body);   
    rtrim
        //删除右边边的空格
    trim
        //开始和结束的位置或者其他

截取字符
    $rest  =  substr ( "abcdef" , - 1 );     // 返回 "f"
    $rest  =  substr ( "abcdef" , - 2 );     // 返回 "ef"
    $rest  =  substr ( "abcdef" , - 3 ,  1 );  // 返回 "d"
    ------
    strstr — 查找字符串的首次出现 
    $n = ‘hello ‘;
    echo strstr($n,‘e‘,false);
        若为 TRUE , strstr()  将返回 needle 在 haystack 中的位置之前的部分
        第一次出现的位置开始到结尾的字符串
    strrchr
        最后一次出现的位置直到末尾
    strrev — 反转字符串 
    strpos — 查找字符串首次出现的位置 
    md5 
    str_shuffle — 随机打乱一个字符串
    explode — 使用一个字符串分割另一个字符串 
        $array  = array( ‘lastname‘ ,  ‘email‘ ,  ‘phone‘ );

$com ma_separated = implode ( "," , $array );

格式化字符串
    sprintf
    {$format参数}
    
数学函数
    floor()  //向下
    ceil() //向下
    max()  //返回最大
    min()   //返回最小
    rand — 产生一个随机整数 
    mt_rand — 生成更好的随机数 
    round — 对浮点数进行四舍五入
        echo  round ( 5.045 ,  2 );     // 5.05
    number_format — 以千位分隔符方式格式化一个数字 
    fmod — 返回除法的浮点数余数 
    
date函数
    date_default_timezone_get() //获得时区;
    echo date(‘Y年m月d日G时:i分:s秒‘);
    time() — 返回当前的 Unix 时间戳
    time()-86400 //24*60*60 前一天
    strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳 
        // 日期表达格式
    microtime — 返回当前 Unix 时间戳和微秒数 
    microtime(true)  将返回一个浮点数。
        // 获得改程序运行的时间
        $start = microtime(true);
        $num = 0;
        for ($i=0; $i <10000000 ; $i++) { 
            $num += $i;
        }
        $end = microtime(true);
        echo $end - $start;
    uniqid — 生成一个唯一ID 
        // 获取一个带前缀、基于当前时间微秒数的唯一ID。 
    getdate — 取得日期/时间信息 
        //数组类型

以上是关于1.21(函数)的主要内容,如果未能解决你的问题,请参考以下文章

SICP 1.21 1.22 体会

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数

golang EX1.1.21

1.21 思考题

CSS滤镜filter