zoukankan      html  css  js  c++  java
  • PHP-基础知识

    ---恢复内容开始---

    1.静态局部变量的特点:

     1)不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值
     2)静态局部变量只会初始化一次
     3)静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变  量的初始值为0。
     4)当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用 局部静态变量为宜。

      静态局部变量可以声明为空数组

    1 protected function getAuthList($uid, $type)
    2  {
    3        static $_authList = array(); //保存用户验证通过的权限列表
    4         $t  = implode(',', (array) $type);
    5         if (isset($_authList[$uid . $t])) {
    6             return $_authList[$uid . $t];
    7         }
    8  }

    2.PHP strpos() 函数

      查找 "php" 在字符串中第一次出现的位置:

    <?php
    echo strpos("You love php, I love php too!","php");
    ?>
    运行结果:9

    ---恢复内容结束---

    1.静态局部变量的特点:

     1)不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值
     2)静态局部变量只会初始化一次
     3)静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变  量的初始值为0。
     4)当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用 局部静态变量为宜。

      静态局部变量可以声明为空数组

    1 protected function getAuthList($uid, $type)
    2  {
    3        static $_authList = array(); //保存用户验证通过的权限列表
    4         $t  = implode(',', (array) $type);
    5         if (isset($_authList[$uid . $t])) {
    6             return $_authList[$uid . $t];
    7         }
    8  }

    2.PHP strpos() 函数

      查找 "php" 在字符串中第一次出现的位置:

       <?php echo strpos("You love php, I love php too!","php"); ?>

      运行结果:9

    3.spl_autoload_register()函数

        __autoload($class_name):自动加载函数,当新创建对象的时候,无需写类的命名空间。在php5中,试图使用尚未定义的类时会自动调用__autoload函数,所以我们可以通过编写__autoload函数来让php自动加载类,而不必写一个长长的包含文件列表

      spl_autoload_register(),这个函数与__autoload有与曲同工之妙,意思是实例化对象而找不到对应的类时可以自动调用自己编写的加载函数,区别于__autoload,注册类的自动加载函数如:

        <?php 
        spl_autoload_register(function($class){ 
           if($class == 'http'){ 
                require_once("/home/yejianfeng/handcode/http.php"); 
           } 
         }); 
        $a = new http();   

      在框架中使用此函数可以只使用命名空间即可找到对应的类

  • 相关阅读:
    内存中的堆和栈
    数据库——关系型数据库
    如何创建一个进程,如何进程调用进程
    浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析(好戏在后面,有图有真相)
    Moon.Orm 5.0(MQL版)使用指南
    初学 快速幂 的理解
    2016 杭电
    2015 偶数求和 AC 杭电
    2014 青年歌手大赛 AC
    C语言初学 数组 打印菱形
  • 原文地址:https://www.cnblogs.com/--CYH--/p/6572117.html
Copyright © 2011-2022 走看看