php manual

  1. http://www.php.net/manual/zh
  2. 当解析一个文件时,PHP 会寻找起始和结束标记,也就是 <?php 和 ?>
  3. 如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。
  4. 处于条件语句中间时,此时 PHP 解释器会根据条件判断来决定哪些输出,哪些跳过
  5. 1 <?php if ($expression == true): ?>
    2   This will show if the expression is true.
    3 <?php else: ?>
    4   Otherwise this will show.
    5 <?php endif; ?>
    View Code
  6. 同 C 或 Perl 一样,PHP 需要在每个语句后用分号结束指令。一段 PHP 代码中的结束标记隐含表示了一个分号;在一个 PHP 代码段中的最后一行可以不用分号结束。如果后面还有新行,则代码段的结束标记包含了行结束。文件末尾的 PHP 代码段结束标记可以不要,有些情况下当使用 include 或者 require 时省略掉会更好些,这样不期望的空白符就不会出现在文件末尾,之后仍然可以输出响应标头。在使用输出缓冲时也很便利,就不会看到由包含文件生成的不期望的空白符。
  7. // , /**/ , #
  8. PHP 支持 8 种原始数据类型。 
    四种标量类型: boolean(布尔型), integer(整型), float(浮点型,也称作 double) , string(字符串) 
    两种复合类型: array(数组),object(对象) 
    最后是两种特殊类型: resource(资源),NULL(无类型) 
    为了确保代码的易读性,本手册还介绍了一些伪类型: mixed(混合类型),number(数字类型),callback(回调类型) 
    以及伪变量 $...。
  9. 变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。
  10. 要指定一个布尔值,使用关键字 TRUE 或 FALSE。两个都不区分大小写。
  11. 要使用八进制表达,数字前必须加上 0(零)。要使用十六进制表达,数字前必须加上 0x。要使用二进制表达,数字前必须加上 0b。
  12. 如果向八进制数传递了一个非法数字(即 8 或 9),则后面其余数字会被忽略。
  13. 由于 NAN 代表着任何不同值,不应拿 NAN 去和其它值进行比较,包括其自身,应该用 is_nan() 来检查由于 NAN 代表着任何不同值,不应拿 NAN 去和其它值进行比较,包括其自身,应该用 is_nan() 来检查
  14. 就象 heredoc 结构类似于双引号字符串,Nowdoc 结构是类似于单引号字符串的。Nowdoc 结构很象 heredoc 结构,但是 nowdoc 中不进行解析操作。
  15. 复杂(花括号)语法
    复杂语法不是因为其语法复杂而得名,而是因为它可以使用复杂的表达式。
  16. 用双引号定义的字符串最重要的特征是变量会被解析
  17. PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。
  18. unset() 函数允许删除数组中的某个键。但要注意数组将不会重建索引。如果需要删除后重建索引,可以用 array_values() 函数。
  19. 直接改变数组的值自 PHP 5 起可以通过引用传递来做到。
  20. 要创建一个新的对象 object,使用 new 语句实例化一个类
  21. 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。
  22. 特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。
  23. 自 PHP 5.4 起可用 callable 类型指定回调类型 callback。本文档基于同样理由使用 callback 类型信息。
  24. Closure: 
     1 <?php
     2 // Our closure
     3 $double = function($a) {
     4     return $a * 2;
     5 };
     6 
     7 // This is our range of numbers
     8 $numbers = range(1, 5);
     9 
    10 // Use the closure as a callback here to 
    11 // double the size of each element in our 
    12 // range
    13 $new_numbers = array_map($double, $numbers);
    14 
    15 print implode(' ', $new_numbers);
    16 ?>
    View Code
  25. 变量默认总是传值赋值。那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。
  26. 使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)
  27. PHP 提供了大量的预定义变量。由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档。
  28. 变量的范围即它定义的上下文背景(也就是它的生效范围)。大部分的 PHP 变量只有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件
  29. PHP 中全局变量在函数中使用时必须声明为 global。
     1 <?php
     2 $a = 1; /* global scope */
     3 
     4 function Test()
     5 {
     6     echo $a; /* reference to local scope variable */
     7 }
     8 
     9 Test();
    10 ?>
    View Code
     1 <?php
     2 function test_global()
     3 {
     4     // 大多数的预定义变量并不 "super",它们需要用 'global' 关键字来使它们在函数的本地区域中有效。
     5     global $HTTP_POST_VARS;
     6 
     7     echo $HTTP_POST_VARS['name'];
     8 
     9     // Superglobals 在任何范围内都有效,它们并不需要 'global' 声明。Superglobals 是在 PHP 4.1.0 引入的。
    10     echo $_POST['name'];
    11 }
    12 ?>
    View Code
  30. 静态变量与递归函数:如果在静态变量声明中用表达式的结果对其赋值会导致解析错误。
    <?php
    function test()
    {
        static $count = 0;
    
        $count++;
        echo $count;
        if ($count < 10) {
            test();
        }
        $count--;
    }
    ?>
    View Code
  31. 有时候使用可变变量名是很方便的。就是说,一个变量的变量名可以动态的设置和使用
  32. 来自 PHP 之外的变量 
原文地址:https://www.cnblogs.com/dmdj/p/3500189.html