目录
- 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 基础
phpinfo():输出版本号
- echo:输出文本
- php.ini:php的配置文件
2. php 变量
命名变量必须用 $ 开头
严格区分大小写
不能以特殊字符和数字开头(可以用下划线)
unset:销毁变量
isset():判断变量是否存在
isset(var1, var2)
普通变量的作用域:函数
内部作用域
和外部作用域
是不相关的
2.1 静态变量:
static
可以定义静态变量- 只会初始化一次,会保存上一次的值
2.2 超全局变量:
- $GLOBALS:用于在 PHP 脚本中的任意位置访问全局变量
- $_SERVER:保存关于报头、路径和脚本位置的信息
- $_REQUEST:接收 HTML 表单提交的数据
- $_POST:接收 post 请求数据
- $_GET:接收 get 请求数据
- $_FILES:接收 文件 数据
- $_ENV:是一个包含服务器端环境变量的数组
- $_COOKIE:获取 请求所带的 COOKIE
- $_SESSION:获取 请求所带的 SESSION
3. php 单引号 和 双引号区别
单引号不识别变量,双引号识别变量
单引号不会转义特殊字符, 双引号可以
- 变量和字符串,用一个点
.
拼接起来
- 变量和字符串,用一个点
双引号可以将变量和字符串拼接起来
"{$name}好好学习" -> "张三好好学习"
- 双引号 套 单引号 套 变量,输出外面带单引号的变量
"'$name'" -> '张三'
- 双引号 套 单引号 套 变量,输出外面带单引号的变量
单引号效率比双引号高
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. 数据类型转换
- 检测数据类型:gettype()
- 类型转换
- intval():转换为整数,integer
- floatval():转换为小数,double
- strval():转换为字符串,string
- boolval():转换为布尔值,boolean
- 判断数据类型的常用函数
- is_array()
- is_string()
- is_bool()
- is_float()
- is_object()
- is_int()
- is_numeric():数字字符串会转换成数字,然后再判断,但不能混合非数字字符
- is_resource():判断是否是资源
- is_null()
- is_scalar():判断是否是标量
6. 常量
定义常量:
define('abc', 'abc');
常量注意点:
* 常量可以直接用大写字母和下划线定义,不必加`$`符号
赋值只能为标量
赋值只能为标量
* 常量不能写到字符串中
判断常量是否被定义:
defined('常量名')
系统常量:
__FILE__
:找你的文件__LINE__
:获取代码所在的行数__DIR__
:找到当前文件的目录PHP_OS
:获取系统信息PHP_VERSION
:获取版本信息__FUNCTION
:获取当前函数名M_PI
:圆周率了解:
__MHTHOD__
:获取当前成员方法名__NAMESPACE__
:获取当前命名空间的名字__TRAIT__
:获取当前 TRAIT 名字(多继承)__CLASS__
:获取当前类名
7. 运算符
与其他语言差不多
8. 为 false 的几种情况(条件判断)
- 字符串和数字:
''
、0
、'0'
、0.000
- 字符串
'0.000'
为真
- 数组:
[]
(与 js 不同)
9. 流程判断
与其他语言基本相同
拓展:
1. 随机数:mt_rand(1, 10);
10. 循环
与其他语言一样,循环内的变量不是局部变量
11.1 函数
定义:function name() {}
1. 函数分为类库函数 和 自定义函数
2. 类库函数不可再自定义
3. 行参可设置默认值,与 es6 类似
4. 没设置默认参数时,实参少了会报错
5. 函数不区分大小写
'.$temp; // 返回值 true
- 变量和作用域看标题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 字符串内置函数
- 大小写转换
- strtolower:大写转小写
- strtoupper:小写转大写
- lcfirst:首字母小写
- ucfirst:首字母大写
- ucwords:每个单词首字母大写
- 空白处理
- trim:去掉首位空格
- ltrim:去掉头部空格
- rtrim / chop:去掉尾部空格
- 查找定位
- strstr / strchr:检测 字符串 在 另一个字符串 第一次出现到结尾的内容(大小写敏感)
- strrchr:检测 字符串 在 另一个字符串 最后一次出现 到 结尾 的内容
- stristr:strstr 忽略大小写版本
- strpos:返回字符串首次出现的位置(大小写敏感)
- stripos:strpos 忽略大小写版本
- strrpos:返回字符串最后一次出现的位置(大小写敏感)
- strripos:strrpos 忽略大小写版本
- sbustr:子字符串提取
- strpbrk:返回 (搜索条件的任意字符) 首次出现到结尾的内容(大小写敏感)
- 比较
- strcmp:二进制比较字符串
- strcasecmp:strcmp 忽略大小写比较
- strnatcmp:使用一种"自然排序"算法来比较两个字符串(对大小写敏感),在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
- strnatcasecmp:strnatcmp:忽略大小写版本
顺序
- str_shuffle:随机打乱字符串顺序
- strrev:倒序排列字符串
转换
- chr:将 ASCII 码值转换为字符
未完待续。。。
12.3 数组内置函数