1. phpinfo():输出版本号

    1. echo:输出文本
    2. php.ini:php的配置文件

  1. 命名变量必须用 $ 开头

  2. 严格区分大小写

  3. 不能以特殊字符和数字开头(可以用下划线)

  4. unset:销毁变量

  5. isset():判断变量是否存在 isset(var1, var2)

  6. 普通变量的作用域:函数 内部作用域外部作用域 是不相关的

    1. <?php
    2. // 变量的作用域
    3. $test = 'hello';
    4. function test () {
    5. echo $test; // 报错, 变量未定义
    6. }
    7. test();

    • static 可以定义静态变量
    • 只会初始化一次,会保存上一次的值
    1. <?php
    2. // 静态变量
    3. function total() {
    4. static $num = 2;
    5. $num *= 2;
    6. echo $num;
    7. }
    8. total();
    9. total();
    10. total();

    • $GLOBALS:用于在 PHP 脚本中的任意位置访问全局变量
    • $_SERVER:保存关于报头、路径和脚本位置的信息
    • $_REQUEST:接收 HTML 表单提交的数据
    • $_POST:接收 post 请求数据
    • $_GET:接收 get 请求数据
    • $_FILES:接收 文件 数据
    • $_ENV:是一个包含服务器端环境变量的数组
    • $_COOKIE:获取 请求所带的 COOKIE
    • $_SESSION:获取 请求所带的 SESSION

  1. 单引号不识别变量,双引号识别变量

  2. 单引号不会转义特殊字符, 双引号可以

    1. <?php
    2. // 单双引号区别
    3. $name = '张三';
    4. $age = 18;
    5. $sex = 'man';
    6. echo "$name"; // 张三
    7. echo '$name'; // $name
    8. // 结论:单引号不解析变量,双引号解析变量
    9. echo "\n"; // 换行
    10. echo '\n'; // \n
    11. // 结论:单引号不会转义特殊字符, 双引号可以
    12. ?>
    1. 变量和字符串,用一个点 . 拼接起来
  3. 双引号可以将变量和字符串拼接起来 "{$name}好好学习" -> "张三好好学习"

    1. 双引号 套 单引号 套 变量,输出外面带单引号的变量 "'$name'" -> '张三'
  4. 单引号效率比双引号高


  1. 1. 标量
  2. 1. 整型:1 2
  3. 2. 浮点型:1.2 1.3
  4. 3. 布尔类型:true false
  5. 4. 字符串:单双引号引起来的都是字符串
  6. 2. 混合类型(重点)
  7. 1. 数组:array
  8. 2. 对象:object
  9. 3. 特殊类型
  10. 1. 空:null
  11. 2. 资源:resource

  1. 检测数据类型:gettype()
  2. 类型转换
    1. intval():转换为整数,integer
    2. floatval():转换为小数,double
    3. strval():转换为字符串,string
    4. boolval():转换为布尔值,boolean
  3. 判断数据类型的常用函数
    1. is_array()
    2. is_string()
    3. is_bool()
    4. is_float()
    5. is_object()
    6. is_int()
    7. is_numeric():数字字符串会转换成数字,然后再判断,但不能混合非数字字符
    8. is_resource():判断是否是资源
    9. is_null()
    10. is_scalar():判断是否是标量

  1. 定义常量:define('abc', 'abc');

  2. 常量注意点:

    1. * 常量可以直接用大写字母和下划线定义,不必加`$`符号
    • 赋值只能为标量

    • 赋值只能为标量
      * 常量不能写到字符串中

  3. 判断常量是否被定义:defined('常量名')

    1. 系统常量:

    2. __FILE__:找你的文件

    3. __LINE__:获取代码所在的行数

    4. __DIR__:找到当前文件的目录

    5. PHP_OS:获取系统信息

    6. PHP_VERSION:获取版本信息

    7. __FUNCTION:获取当前函数名

    8. M_PI:圆周率

    9. 了解:

      • __MHTHOD__:获取当前成员方法名

      • __NAMESPACE__:获取当前命名空间的名字
      • __TRAIT__:获取当前 TRAIT 名字(多继承)
      • __CLASS__:获取当前类名


与其他语言差不多


  1. 字符串和数字:
    • ''0'0'0.000
    • 字符串 '0.000' 为真
  2. 数组:[] (与 js 不同)

与其他语言基本相同

拓展:

​ 1. 随机数:mt_rand(1, 10);


与其他语言一样,循环内的变量不是局部变量


定义:function name() {}

​ 1. 函数分为类库函数 和 自定义函数

​ 2. 类库函数不可再自定义

​ 3. 行参可设置默认值,与 es6 类似

​ 4. 没设置默认参数时,实参少了会报错

​ 5. 函数不区分大小写

  1. <?php
  2. function Name($name = '刘程', $sex = '男') {
  3. echo '我是:'.$name.' . 性别:'.$sex;
  4. return true;
  5. }
  6. $temp = name('liucheng'); // 我是:liucheng . 性别:男
  7. echo '<br />'.$temp; // 返回值 true
  1. 变量和作用域看标题2 变量
  2. 行参的类型约束(重要)


​ 行参约束类型后,函数会将传入的数据转换为对应的数据,若无法转换,将报错。

  1. <?php
  2. // 约束函数行参的类型
  3. function test(string $name, int $num) {
  4. echo gettype($name).'<br />';
  5. echo gettype($num).'<br />';
  6. }
  7. test('liucheng', 20);
  8. test(520, 20);
  9. // test(520, "a"); // 报错, 'a' 不是整数

  1. <?php
  2. // 约束函数返回值
  3. function test(string $name, int $num):string {
  4. return $name.$num;
  5. }
  6. print_r(test('liucheng', 20).'<br>');
  7. print_r(test(520, 20).'<br>');
  8. echo test(520, "a").'<br>';

​ 不用设置行参,即可获取传入的参数

  1. 1. `func_get_args()` : 获取传入的参数,组成数组。
  2. 2. `func_get_arg(n)` : 获取对应下标位置的参数
  1. <?php
  2. // 可变参数
  3. function test() {
  4. $temp = func_get_args();
  5. echo func_get_arg(1).'<br>';
  6. return $temp;
  7. }
  8. print_r(test('liucheng', 20)); // 输出:Array ( [0] => liucheng [1] => 20 )


  1. 1. 随机数
  2. * rand
  3. * **mt_rand**:性能比 rand 4
  4. 2. 小数
  5. * floor:向下取整
  6. * ceil:向上取整
  7. * round:四舍五入取整
  8. 3. 其他
  9. * abs:绝对值
  10. * pi:圆周率
  11. * M_PI:常量, pi() 函数返回值相同
  12. * pow:指数表达式
  13. * max:最大值
  14. * min:最小值


  1. 大小写转换
    • strtolower:大写转小写
    • strtoupper:小写转大写
    • lcfirst:首字母小写
    • ucfirst:首字母大写
    • ucwords:每个单词首字母大写
  2. 空白处理
    • trim:去掉首位空格
    • ltrim:去掉头部空格
    • rtrim / chop:去掉尾部空格
  3. 查找定位
    • strstr / strchr:检测 字符串 在 另一个字符串 第一次出现到结尾的内容(大小写敏感)
    • strrchr:检测 字符串 在 另一个字符串 最后一次出现 到 结尾 的内容
    • stristr:strstr 忽略大小写版本
    • strpos:返回字符串首次出现的位置(大小写敏感)
    • stripos:strpos 忽略大小写版本
    • strrpos:返回字符串最后一次出现的位置(大小写敏感)
    • strripos:strrpos 忽略大小写版本
    • sbustr:子字符串提取
    • strpbrk:返回 (搜索条件的任意字符) 首次出现到结尾的内容(大小写敏感)
  4. 比较
    • strcmp:二进制比较字符串
    • strcasecmp:strcmp 忽略大小写比较
    • strnatcmp:使用一种”自然排序“算法来比较两个字符串(对大小写敏感),在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
    • strnatcasecmp:strnatcmp:忽略大小写版本
  5. 顺序

    • str_shuffle:随机打乱字符串顺序
    • strrev:倒序排列字符串
  6. 转换

    • chr:将 ASCII 码值转换为字符

    未完待续。。。


版权声明:本文为mhxs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mhxs/p/11222719.html