后端 - Lession 01 PHP 基础

2019/7/21 21:05:15 人评论 次浏览 分类:学习教程

目录

  • Lession 01 php 基础
    • 1. php 基础
    • 2. php 变量
    • 3. php 单引号 和 双引号区别
    • 4. 数据类型
    • 5. 数据类型转换
    • 6. 常量
    • 7. 运算符
    • 8. 为 false 的几种情况(条件判断)
    • 9. 流程判断
    • 10. 循环
    • 11.1 函数
    • 11.2 函数的 行参 和 返回值
    • 12. 常用函数

Lession 01 php 基础

1. php 基础

  1. phpinfo():输出版本号

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

2. php 变量

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

  2. 严格区分大小写

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

  4. unset:销毁变量

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

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


    2.1 静态变量:

    • static 可以定义静态变量
    • 只会初始化一次,会保存上一次的值

    2.2 超全局变量:

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

3. php 单引号 和 双引号区别

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

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

    1. 变量和字符串,用一个点 . 拼接起来
  3. 双引号可以将变量和字符串拼接起来 "{$name}好好学习" -> "张三好好学习"

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


4. 数据类型

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

5. 数据类型转换

  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():判断是否是标量

6. 常量

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

  2. 常量注意点:

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

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

  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__:获取当前类名


7. 运算符

与其他语言差不多


8. 为 false 的几种情况(条件判断)

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

9. 流程判断

与其他语言基本相同

拓展:

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


10. 循环

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


11.1 函数

定义:function name() {}

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

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

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

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

​ 5. 函数不区分大小写

'.$temp;            // 返回值 true 
  1. 变量和作用域看标题2 变量
  2. 行参的类型约束(重要)

11.2 函数的 行参 和 返回值


11.2.1 行参约束类型

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

';     echo gettype($num).'
'; } test('liucheng', 20); test(520, 20); // test(520, "a"); // 报错, 'a' 不是整数

11.2.2 返回值的约束类型

');  print_r(test(520, 20).'
'); echo test(520, "a").'
';

11.2.3 函数的可变参数

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

1. `func_get_args()` : 获取传入的参数,组成数组。 2. `func_get_arg(n)` : 获取对应下标位置的参数
';     return $temp; }  print_r(test('liucheng', 20));      // 输出:Array ( [0] => liucheng [1] => 20 )

12. 常用函数


12.1 数学函数

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

12.2 字符串内置函数


  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 码值转换为字符

    未完待续。。。


12.3 数组内置函数

相关资讯

    暂无相关的资讯...

共有访客发表了评论 网友评论

验证码: 看不清楚?
    -->