PHP学习笔记

1. "var_dump"函数可以将我们的变量的数据类型显示出来
2. “memory_get_usage”获取当前PHP消耗的内存
3.  打开文件
   PHP学习笔记

4.  error_reporting(0); //禁止显示PHP警告提示
5. unset()  //释放给定变量
      例如:
        $var3 = "aaa";
        unset($var3);
        则var3为null;
6. define()函数的语法格式为:
      bool define(string $constant_name, mixed $value[, $case_sensitive = true])
   
第一个参数“constant_name”为必选参数,常量名称,即标志符;
      第二个参数“value”为必选参数,它是常量的值。
      第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。
      (注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型)
7. 系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:

(1)__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。

(2)__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。

(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

8. mixed constant(string constant_name)    // constant()获取常量的值,可以动态的输出不同的常量,在使用上要灵活、方便,但用的比较少。

9. bool defined(string constants_name)      //获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false;

10. “=”:把右边表达式的值赋给左边的运算数。

     “&”:引用赋值,意味着两个变量都指向同一个数据。

      例如:

                    $a = "我在学习PHP!";
                    $b = $a;
                    $c = &$a;
                    $a = "我天天在学习PHP!";
   
                    echo $b;
                    echo $c;

     

11. 比较运算符

      PHP学习笔记

12.  逻辑运算符

       PHP学习笔记

13.  foreach循环:

      (1)只取值,不取下标

              foreach (数组 as 值){ //执行的任务 }

      (2)同时取下标和值

              foreach (数组 as 下标 => 值){ //执行的任务 }

14.  array() 创建一个空数组

15.  PHP有两种数组:索引数组、关联数组。

       (1)索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。

                例如:
                         $fruit = array('苹果','香蕉');

                         print_r($fruit['0']);   //打印键值为0的值

       (2)关联数组是指数组的键是字符串的数组。

16.   (1) bool isset ( mixed var [, mixed var [, ...]] )    //检测变量是否设置 

             若变量不存在则返回 FALSE
             若变量存在且其值为NULL,也返回 FALSE
             若变量存在且值不为NULL,则返回 TURE

        (2) bool empty ( mixed var )    //检查一个变量是否为空

             若变量不存在则返回 TRUE
             若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
             若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE

17.  str_replace()

        PHP学习笔记
18.  function_exists    //判断函数是否存在
            method_exists      //检测类的方法是否存在
19.  function __construct() {}       //构造函数
            function __destruct() {}           //析构函数
20.  访问控制通过关键字public,protected和private来实现。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。
21.  (1) 静态属性与方法可以在不实例化类的情况下调用,直接使用 类名::方法名的方式进行调用。静态属性 不允许对象使用->操作符调用。
            (2) 静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。
            例如:
                                class Car {
                                        private static $speed = 10;
                                        public static function getSpeed() {
                                                return self::$speed;
                                        }
                                        public static function speedUp() {
                                                return self::$speed+=10;
                                        }
                                }

                                class BigCar extends Car {
                                        public static function start() {
                                                parent::speedUp();
                                        }
                                }

                                BigCar::start();
                                echo BigCar::getSpeed();
22.  PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的。
            (1) 属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。
                        例如:
                                          class Car {
                                                  private $ary = array();
                                                  public function __set($key, $val) {
                                                          $this->ary[$key] = $val;
                                                  }
                                                  public function __get($key) {
                                                          if (isset($this->ary[$key])) {
                                                                  return $this->ary[$key];
                                                          }
                                                          return null;
                                                  }
                                                  public function __isset($key) {
                                                          if (isset($this->ary[$key])) {
                                                                  return true;
                                                          }
                                                          return false;
                                                  }
                                                  public function __unset($key) {
                                                          unset($this->ary[$key]);
                                                  }
                                          }
                                          $car = new Car();
                                          $car->name = '汽车';  //name属性动态创建并赋值
                                          echo $car->name;           
            (2) 方法的重载通过__call来实现,当调用不存在的方法的时候,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载。
                          例如:
                                            function __call($name, $args) 
                                            {  
                                                    if($name=='overloadFun')  
                                                    {  
                                                            switch(count($args))  
                                        {  
                                                                    case 0: $this->overloadFun0();break;  
                                                                    case 1: $this->overloadFun1($args[0]); break;  
                                                                    case 2: $this->overloadFun2($args[0], $args[1]); break;  
                                                                    default: //do something  
                                                                    break;  
                                                            }  
                                                    }  
                                            }  
         
                                            function overloadFun0()  
                        {  
                                                  // do something  
                                            }  
         
                                            function overloadFun1()  
                                            {  
                                                    // do something  
                                            }  
         
                                            function overloadFun2()  
                                            {  
                                                    // do something  
                                               
23.  trim去除一个字符串两端空格。
            rtrim是去除一个字符串右部空格,其中的r是right的缩写。
            ltrim是去除一个字符串左部空格,其中的l是left的缩写。
              例如:
                              echo trim(" 空格 ");
                              echo rtrim(" 空格 ");
                echo ltrim(" 空格 ");
24.  strlen()      //获取字符串长度
            mb_strlen()   //获取中文字符串长度
    例如:
        
$str = "我爱你";
                              echo mb_strlen($str,"UTF8");    //结果:3
25.  substr()  //字符串截取函数,substr(字符串变量,开始截取的位置,截取个数)
            mb_substr()    //中文字符串截取函数, mb_substr(字符串变量,开始截取的位置,截取个数, 网页编码)
26.  strpos(要处理的字符串, 要定位的字符串, 定位的起始位置[可选])   //字符串查找函数
              例如:
                              $str = 'What is your name?';
                              $s = strpos($str, 'name');
                              echo $s;
                              //结果显示13,说明表示从0开始,name出现在第13位。
27.  str_replace(要查找的字符串, 要替换的字符串, 被搜索的字符串, 替换进行计数[可选])  //字符串替换函数
    例如:
         $str = 'I Love Chian';
         $replace = str_replace('Chian', 'China', $str);
         echo $replace;
28.
sprintf(格式,  要转化的字符串)    //字符串格式化函数
              例如:
                              $str = '99.9';
                              $result = sprintf('.2f', $str);
                              echo $result;      //结果显示99.90
29.  mixed array_search (mixed $needle , array $haystack [, bool $strict = false])  //查询数组中的指定元素
            needle          搜索的值。
            Note               如果 needle 是字符串,则比较以区分大小写的方式进行。
            haystack    这个数组。
            strict                如果可选的第三个参数 strict 为 TRUE,则 array_search() 将在 haystack 中检查完全相同的元素。 这意味着同样检查 haystack 里 needle 的 类型,并且对象需是同一个实例。
              返回值是bool,如果找到了该值得键,返回true,否则返回false。
30.    array_pop(arrary)    //获取数组中的最后一个元素
31.    array_push(array, value, value, ……)  //向数组添加元素,会自动添加在数组尾部
32.    array_unique(array)    //删除数组中的重复元素
33.  $_POST和$_GET的区别: 
            (1)$_GET
                $_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。
                使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
          (2)$_POST
              预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。然而,默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。
              从带有 POST 方法的表单发送的信息,对任何人都是不可见的,并且对发送信息的量也没有限制。然而,由于变量不显示在 URL 中,所以无法把页面加入书签。

34.    在HTML中添加PHP脚本的方式:
          (1)添加外部PHP
                            include("PHP文件名");
          (2)在HTML文件中直接添加php脚本
                          (新浪博客里直接添加php代码,会被删除,这里就不写例子了)
35.  URL编码解码
              urlencode(string)  //URL编码
              urldecode(string)  //URL解码
            对URL编码编码主要要解决的问题是:回避参数中携带的特殊字符,以免导致服务端接受数据出错。
            详细了解请百度“URL为什么要编码”。
36.  sql_connect(要连接的数据库地址,数据库名,  密码)
              返回值:链接成功返回mysql链接标识符,链接失败返回false。
37.    mysql_select_db(要选择的数据库的名称);    //选择数据库
              返回值:成功返回true,失败返回false。
38.    mysql_query(sql)  //执行SQL语句,操作数据库
              返回值:bool,成功返回true,失败返回false。
39.    mysql_error()  //返回上一个MySQL操作产生的文本信息(返回值)
              参数可以为空,也可以写一个MySQL连接标识符连接标识符
40.    mysql_close(mysql连接标识符)    //关闭非持久的MySQL连接
              返回值:bool,成功返回true,失败返回false。
              mysql_close()这个函数可以不写,因为非持久的MySQL连接在脚本结束时会自动关闭
41.    mysql_query('set names utf8');  //告诉数据库,传入和传出数据一律以UTF-8的编码形式
42.  4fetch函数: mysql_fetch_row()、mysql_fetch_array()、mysql_fetch_assoc()、mysql_fetch_object()     
        这4个函数的作用均是获取和显示数据。
        (1) mysql_fetch_row()每执行一次,都从资源也就是结果集里依次区一条数据,以数组的形式返回主来,当前一次已经取到最后一条数据的时候,返回空结果。返回的数组是一个一维索引数组,每一个下标与数据库里的字段的排序相对应。
        (2) mysql_fetch_array() 每取一条数据返回一个索引数组和一个关联数组, 效率远远不如mysql_fetch_row()
              PHP学习笔记
        (3)  mysql_fetch_assoc(data) 函数从结果集中取得一行作为关联数组。返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。 
        (4)  mysql_fetch_object(data)函数从结果集(记录集)中取得一行作为对象。若成功的话,本函数从 mysql_query() 获得一行,并返回一个对象。如果失败或没有更多的行,则返回 false。通常与while结合使用,以获取表中全部对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值