美文网首页PHP
php学习笔记

php学习笔记

作者: 阿狸__小姑凉 | 来源:发表于2018-05-30 16:58 被阅读0次

    1

    PHP文件末尾结束标记可以不要,在有些情况下当使用include和require的时候省略掉会更好些,这样不期望的空白符就不会出现在文件末尾,之后仍然可以输出响应标头。在使用输出缓冲的时候也会很方便

    2 类型

    1)简介
    四种标量类型
        boolean
        integer
        float
        string
    三种复合类型
        array
        object
        callable
    两种特殊类型
        resource
        null
    

    当需要判断数据类型的时候用gettype函数,要检验某个类型的时候用is_type函数(is_int())。
    当需要将一个变量转换成某个类型的时候,可以对其使用强制转换或者settype()函数。

    • (int) 强制转换成整形
    • (bool)
    • (float),(double),(real)
    • (string)
    • (object)
    • (unset) 转换成Null
    2)boolean

    当转换成boolean时,以下的值被认为是false

    • 布尔值false本身
    • 整型值0
    • 浮点型值 0.0
    • 空字符串,以及字符串 "0"
    • 不包括任何元素的数组
    • 特殊类型null(包括尚未赋值的变量)
    • 从空标记生成的simplexml变量
      其他的所有的值都是被认为是true(包括任何资源和nan)
    3)整型

    整型值可以使用十进制,十六进制,八进制或者二进制表示,在前面加上可选的符号(+ 或者 -)
    二进制表达的Integer从php5.4.0开始使用
    要使用八进制表达,数字前面必须加上0,使用十六进制必须加上0x,要使用二进制就必须加上0b

    <?php
        var_dump(25/7);         // float(3.5714285714286) 
        var_dump((int) (25/7)); // int(3)
        var_dump(round(25/7));  // float(4) 
    ?>
    

    PHP 7.0.0 起,NaN 和 Infinity 在转换成整型时,不再是 undefined 或者依赖于平台,而是都会变成零。

    4)浮点型

    不要比较链各个浮点型数值的大小
    对于其他类型的值,要先转换成整型。再转换成浮点型

    5)字符串
    • 单引号
    • 双引号
    • heredoc语法结构
    • nowdoc语法结构

    单引号:要表达一个单引号本身的时候需要一个反斜杠\来转义。要表达一个反斜线本身的时候,则需要两个反斜线\。其他任何方式的反斜线都会被当成反斜线本身,也就是说如果想使用其他转义序列例如\r或者\n,并不代表任何特殊含义,就单纯是这两个字符本身

    Note:不像双引号或者heredoc语法结构,在单引号字符串中的变量和特殊字符的转义序列将不会被替代
    

    双引号:和单引号字符一样,转义任何其他字符都会导致反斜线被显示出来
    用双引号定义的字符串最重要的特征是变量会被解析
    heredoc:<<<。在这个运算符后面提供一个标识符,然后换行,接下来是字符串string本身,最后要用前面定义的标识符作为结束标识。

        要注意的是:结束标识符这行除了可能有一个分号(;),绝对不能包含其他字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或制表符。
        更重要的是结束标识符的前面必须是个被本地操作系统认可的换行,比如在unix和max os系统上是\n,而结束定界符之后也必须紧跟一个换行。
        
    static $bar = <<<LABEL
    Nothing in here...
    LABEL;
    ------------------------------------------
    <?php
    echo <<<"FOOBAR"
    Hello World!
    FOOBAR;
    ?>
    

    Nowdoc:这种结构类似于单引号字符串,不进行解析操作。这个种结构很适合用于嵌入PHP代码或者其他大段文本而无需对其中的特殊字符进行转义。

    <?php
    $str = <<<'EOD'
    Example of string
    spanning multiple line
    using nowdoc syntax.
    EOD;
    
    6)Array数组

    PHP中的数组是一个有序映射。映射是一种把values关联到Keys的类型。此类型在很多方面做了优化。因此可以把它当成真正的数组,或列表。散列表,字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一种数组,树形结构和多维数组也是允许的。
    key有以下的强制转换

    • 包含有合法整型值的字符串会被转换成整型,例如键名"8"会被转换成8,但是键名"08"就不会被转换,因为这不是一个合法的十进制数值

    • 浮点数也会被转换成整型,意味着其小数部分会被舍去。例如键名8.7实际上会被储存成8。

    • 布尔值也会被转换成整型。其中true转换成1,false转换成0、

    • null值会被转成空字符串

    • 数组和对象不能作为键名。

      <?php
      // 创建一个简单的数组
      $array = array(1, 2, 3, 4, 5);
      print_r($array);
      
      // 现在删除其中的所有元素,但保持数组本身不变:
      foreach ($array as $i => $value) {
          unset($array[$i]);
      }
      print_r($array);
      
      // 添加一个单元(注意新的键名是 5,而不是你可能以为的 0)
      $array[] = 6;
      print_r($array);
      
      // 重新索引:
      $array = array_values($array);
      $array[] = 7;
      print_r($array);
      ?>
      unset: 函数允许删除数组中的某个键。但要注意数组将*不会*重建索引。如果需要删除后重建索引,可以用array_values函数。
      
    7)对象

    对象初始化
    要创建一个新的对象object,使用new语句实例化一个类:

    <?php
      class foo
      {  
          function do_foo()
          {
              echo "Doing foo.";
          }
      }
      $bar = new foo;
      $bar->do_foo();
    
    8)资源

    由于资源类型变量保存有为打开文件,数据库连接,图形画布区域等的特殊句柄,因此将其他类型的值转换成资源没有意义

    9)Null

    在下列情况下一个变量被认为是null:

    • 被赋值为Null
    • 尚未被赋值
    • 被unset
      使用(unset)$var 将一个变量转换成Null将不会删除该变量或者unset其值,仅是返回Null值而已

    3 变量

    PHP中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。
    变量名与PHP中其他的标签遵循相同的规则,一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。

    $this是一个特殊的变量,他不能够被赋值
    

    PHP还有一种方式给变量赋值,引用赋值。这意味着新的变量简单的引用了原始变量。改动新的变量将会影响到原始变量。

    只有有名字的变量才可以引用赋值。
    

    4 常量

    常量是一个简单值的标识符,如同其名称所暗示的,在脚本执行期间该值不能改变。常量默认认为大小写敏感。传统上常量标识符总是大写的。
    常量名和其他任何PHP标签遵循一样的命名规则。合法的常量名以字母或者下划线开始,后面跟着任何字母,数字或者下划线。

    名称 说明
    _ _ LINE _ _ 文件中的当前行号
    _ _ FILE _ _ 文件的完成路径和文件名。如果用在被包含文件中,则返回被包含的文件名。总是包含一个绝对路径
    _ _ DIR _ _ 文件所在的目录。如果用在被包含的文件中,就会返回被包含的文件所在的目录。他等价于dirname(_ _ FILE _ _)。除非是根目录,否则目录中名不包括末尾的斜杠
    _ _ FUNCTION _ _ 函数名称。返回该函数被定义时候的名字。在PHP5之前都是小写的
    _ _ CLASS _ _ 类的名称。从PHP5开始本常量返回该类被定义时候的名字。在PHP4的时候总是小写
    _ _ TRAIT _ _ trait的名字
    _ _ METHOD _ _ 类的方法名
    _ _ NAMESPACE _ _ 当前命名空间的名称

    相关文章

      网友评论

        本文标题:php学习笔记

        本文链接:https://www.haomeiwen.com/subject/phadrftx.html