PHP基础知识整理
发布时间:2024年01月07日
- PHP语言基础
- PHP是嵌入式代码,需要标注php代码的标记,方便编译器识别
- <? 具体内容 ?> 通过Short_open_tag开启
- <script language = "php">具体内容</script>
- 基本输出语法
- Echo 标准输出,可输出多个语句,如echo 123,'abc',456;
- Print_r() 函数,只能输出一个:print_r(123);
- Var_dump() 函数,可输出多个并附带数据类型,如var_dump(123,456.'abc','wer');
- <br/>/<br>/<br /> 换行符,html5都可用,具体看html解析器的版本
- <hr/>/<hr> 分隔符,html5都可用,具体看html解析器的版本
- 命名规则(变量和常量)
- header("content-type:text/html;charset=utf-8"); 设置编码,用于设置文档的输出格式,解决中文乱码现象
- 常量定义
- Define (常量名,常量的值,true/false) Define('PAI','3.1415926') Define('PAI','3.1415926',true) 第三位是bool类型的值,用于判断常量名是否区分大小写 默认为false:区分大小写 true:不区分大小写
- Const 变量名 = 值; 例如:const pi = 3.141592653589793 ;
- 常量名 功能描述
- PHP_VERSION PHP程序的版本,如“7.1.4”
- PHP_OS 执行PHP解析器的操作系统名称,如“WINNT”
- 变量定义
- $y=$x; 等式赋值,y=1,复制x的值到y的存储地址
- $z=&$x 引用赋值,z=1,复制x的地址给z,不额外分配存储地址;此时x和z共用一个存储地址
- 类型转化
- 默认类型转化(判断/输出过程中会自动进行类型转化)
- 转换类型 示例 输出结果
- 转换成布尔型
- var_dump( 0 == false ); bool(true)
- var_dump( 3.14 == false ); bool(false)
- var_dump( 'abd' == false ); bool(false)
- var_dump( NULL == false ); bool(true)
- 转换成整型
- var_dump( '888php' == 888 ); bool(true)
- var_dump( 'php888' == 888 ); bool(false)
- var_dump( true + 1 ); int(2)
- 转换成字符串型
- var_dump( 'true is' . true ); string(8) "true is1"
- var_dump( '3' ); string(1) "3"
- var_dump( '3.14' ); string(4) "3.14"
- 强制类型转化(懂如何用就行)
- Var_dump((int)'4.99') 输出结果为int(4);double--》int
- 运算符
- 算数运算符
- ++ 加加(预递增,后递增) $x=10; echo ++$x; $y=10; echo $y++; 11 10
- -- 减减 $z=5; echo --$z; $i=5; echo $i--; 4 5
- 赋值运算符
- = 赋值 $a=3;$b=2; $a=3;$b=2;
- += 先加,后赋值 $a=3;$b=2;$a+=$b; $a=5;$b=2;
- -= 减并赋值 $a=3;$b=2;$a-=$b; $a=1;$b=2;
- *= 乘并赋值 $a=3;$b=2;$a*=$b; $a=6;$b=2;
- /= 除并赋值 $a=3;$b=2;$a/=$b; $a=1.5;$b=2;
- %= 模并赋值 $a=3;$b=2;$a%=$b; $a=1;$b=2;
- .= 连接并赋值 $a='abc';$a.='def'; $a='abcdef';
- **= 幂运算并赋值 $a=2; $a**= 5; $a=32;
- 比较运算符
- === 全等(恒等于) $x === 5 true
- !== 不全等(恒不等) $x !=='5' true
- 逻辑运算符
- && 与 $a && $b $a和$b都为true,结果为true,否则为false
- || 或 $a || $b $a和$b中至少有一个为true,则结果为true,否则为false
- ! 非 ! $a 若$a为false,结果为true,否则相反
- xor 异或 $a xor $b $a和$b的值一个为true,一个为false时,结果为true,否则为false
- and 与 $a and $b 与&&相同,但优先级较低
- or 或 $a or $b 与||相同,但优先级较低
- 位运算符
- & 按位与 $a & $b $a和$b每一位进行“与”操作后的结果
- | 按位或 $a | $b $a和$b每一位进行“或”操作后的结果
- ~ 按位非 ~ $a $a的每一位进行“非”操作后的结果
- ^ 按位异或 $a ^ $b $a和$b每一位进行“异或”操作后的结果
- << 左移 $a << $b 将$a左移$b次(每一次移动都表示“乘以2”)
- >> 右移 $a >> $b 将$a右移$b次(每一次移动都表示“除以2”)
- 流程控制语句
- 三目运算符 ?: 判断条件?操作1:操作2 条件为真执行1,条件为假执行2
- If(判断条件){执行操作} Elseif(判断条件){} … Else{}
- Switch(判断的变量){ Case 相应的值:{执行的操作}; … Default:{} }
- 数组
- 索引数组
- $arr = array('s',1,2,8); //不指定键名,使用默认从0开始的键名(下标),和普通的数组相同
- 关联数组
- $arr = array('id'=>'value'); //指定每个值的键名,id是键名(下标名),value是键值,
- 常用的对数组操作的函数
- 常用的数组操作符
- + //组合两个数组中所有不同键名的数据,若两个数组中有相同的键名,则只保留加号前面数组中对应键名的数据
- === //全等于,数据和对应数据的类型都必须相同
- foreach
- foreach($arr as $value) //遍历索引数组
- foreach($student as $key => $value ) //遍历关联数组
- array_combine($num2,$num1);
- 合并数组函数 ,把$num2数组内容作为键名,把$num1数组内容作为键值
- array_push($arr,'cheng','wei');
- 追加函数,在$arr数组末尾进行追加数据,可追加多个数据,用逗号隔开
- 追加的数据格式只能是键值(索引格式),不能是键名=>键值格式(关联格式)
- array_unshift($arr,'qiu','bi','te');
- 在数组开头插入数据,和array_push()函数用法一致
- unset($arr[0],$student['张三'])
- array_replace($num1,$num2);
- 保留键名在$num1中存在但$在num2中不存在的数据和$num2的全部数据
- array_key_exists('张三',$student)
- array_column($student,age)
- array_reverse($num4)
- 反转数组,将数据中的键值从开头到末尾反转(掉个盖儿),即开头键名对应末尾的键值,末尾键名对应开头的键值,一次类推
- array_fill(5,10,'REN')
- 用REN作为填充数据,从键名为5的位置开始依次填充10个数据得到一个索引数组
- 常用的字符串操作函数
- declare(strict_types = 1);
- 只针对函数指定参数类型的情况 如 function sum(int $a,int $b)
- 此时$a,$b的传参数据必须是整数,不能是浮点型数据了
- 如果没有开头的这句声明,则传参数据可以是浮点型数据,传入后会自动进行默认类型转换(只保留整数部分)
- str_replace ('e','o',$str)
- substr($str,2,3)
- 截取函数,从字符串$str的位置2开始截取3个字符
- implode('*',explode(" ",$str))
- strcmp('strong','string')
- 函数
- 有名函数
- function sum($a,$b){return $a+$b;} //函数创建(值传递)
- function sum(&$a,&$b){return $a+$b;} //引用传递
- 匿名函数
- $sum = function($a,$b){return $a+$b;}
- 匿名函数传参
- function avg($a,$b,$func){return $func($a,$b);} //函数定义
- avg($a,$b,$function($m,$n){return $m+$n}); //函数调用
- 匿名函数使用外部变量
- $sum = function($a,$b)use($key){return $a+$b;}
- $key变量是外部变量,必须通过use函数才能使用
- 类/对象
- 定义
- class person{var name; var age ; function __construct(){} function eat(){}}
- 特性
- 继承
- class son extends person{}
文章来源:https://blog.csdn.net/I_WORM/article/details/135351871
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!