目录 |
---|
一、PHP语法初步 |
二、PHP代码标记 |
三、PHP注释 |
四、语句分隔符 |
五、变量及其使用 |
5.1 变量是什么 / 5.2变量的使用 / 5.3变量的命名规则 / 5.4预定义变量 / 5.5可变变量 / 5.6变量传值 |
六、 常量 |
6.1 常量的使用 / 6.2 系统常量 |
七、数据类型 |
7.1 数据分类 / 7.2 类型转换 / 7.3 判断类型 / 7.4 进制转换 / 7.5判断数据 |
八、运算符 |
8.1 赋值运算符 / 8.2 算数运算符 / 8.3 比较运算符 / 8.4 逻辑运算符 / 8.5连接运算符 / 8.6 错误抑制符 / 8.7 三目运算 / 8.8 自操作运算符 / 8.9 衍生符号 / 8.10 位运算 |
一、PHP语法初步
php是运行在服务器端的脚本语言,可以嵌入到HTML中。 PHP是一种动态网站开发的脚本语言,动态语言的特点是交互性,会有数据数据的传递。 PHP是一种弱类型语言。 PHP特点:临时存储数据。
二、PHP代码标记
1、ASP标记 <% php代码 %> 2、短标记 <? php代码 ?>(以上两种基本启用,如果要使用需要在配置文件中开启) 3、脚本标记 <script language="php"> php代码 </script> 4、标准标记 (常用)<?php php代码 ?>
三、PHP注释
1、行注释(当前位置开始到行末): // 后面跟的所有内容都是注释 # 后面跟的所有内容都是注释 2、块注释: /* 注释的内容 */ 作用区域:在脚本开始会对其功能进行简单阐述等 注释会在php解析过程中忽略
四、语句分隔符
在php代码(大多数代码)中,代码是以行为单位 (系统不会自动划分), 系统需要通过判断行是否结束(英文状态下的分号)
代码示例 | 可能错误的信息 |
---|---|
五、变量及其使用
PHP中所有的变量都必须使用 “ $ ”
5.1 变量是什么:
1、变量是用来存储数据的 2、变量是有名字的 3、变量是通过名字来访问的 4、变量是可以改变的
5.2 使用:
定义:在系统中添加对应的变量名(内存) //定义变量:在PHP中不需要任何关键字定义变量(赋值) $var1 ;
赋值:可以将数据赋值给变量名(可以在定义的同时完成) $var2 = 5;
可以通过变量名访问存储的数据 echo $var1,'<hr/>'; //$var1会报 Undefined variable: var1 in 的错误,这说明 $var1 没有值 echo $var2; echo "$var1" , "$var2"; //带引号也可以输出,切记要带 $
可以将变量从内存中删除 unset($var2); echo $var2; //当删除后再去输出,会报 Undefined variable: var2 in 的错这说明 $var2 已经不存在
5.3 变量的命名规则
1、必须以 $ 符开始 2、由字母、数字、下划线 构成 3、不能以数字开头 4、允许中文变量(不推荐使用) 5、最好见名知意
5.4 预定义变量:系统定义的变量(数组),储存需要用到的数据。
数据名 | 用途 |
---|---|
$_GET * | 获取所有表单以get方式提交的数据都会保存 |
$_POST * | 以post方式提交的数据都会保存 |
$_REQUEST * | get 和 post 提交的数据都会保存 |
$GLOBALS | PHP中所有的全局变量 |
$_SERVER * | 服务器信息 |
$_SESSION * | SESSION会话数据 |
$_COOKIE * | COOKIE会话数据 |
$_ENV | 环境信息 |
$_FILES | 用户上传的文件信息 |
5.5 可变变量
可变变量:如果一个变量存储的值是另一个变量的名字,那么可以直接通过访问一个变量得到另一个变量的值,只要的一个变量之前多加一个 $ 符号
$a = 'b'; $c = 'a'; echo $a , $c , $$c; //输出结果为 bab
5.6变量传值
将一个变量的值赋值给另外一个变量,称之为变量传值。 变量传值的两种方式: 1、值传递:将变量保存的值复制一份,将复制出来的值给另外一个变量保存(两个变量没有关系) 2、引用传递:将变量的值所保存的地址给另一个变量,两个变量指向同一块内存空间(两个变量是同一个值)
$x = 1; //值传递 $y = $x; $y = 6; echo $x , $y ,'<br/>'; // 16 //引用传递 $z = &$x; $z = 3; echo $x , $z; // 33
在内存中有以下分区
1、栈区:程序可以操作的内存部分,不存数据,运行程序代码。 (少、快) 2、代码段:存储程序(不执行) 3、数据段: 存储普通数据(全局区 / 静态区) 4、堆区:存储复杂数据 (大、效率低)
六、 常量
常量 const / constant:用户自己定义的,在程序运行当中,数据不可改变的量。 定义:在php中定义常量的两种方法 1、使用定义常量的函数 : define('常量名',常量值) //使用函数定义常量 define('PI', 3.1415926) 2、const 常量名 = 值(5.3版以后) //使用const关键字定义 const PII = 3.440829 3、常量命名的规则: 常量不使用 $ 符 常量的名字组成由字母、数字、下划线 (不能以数字开头) 常量的名字由大写字母命名 常量中可以使用一些特殊字符,但是只能在 define 函数中使用 define('-_-', "smile") // 可以 const -_- = "smile" // 不可以 4、注意: 1、define 和 const : 访问权限的区别 2、常量不区分大小写,但是可以区分,依赖于 define 的第三个参数 define('V', 3.14,true); echo v; // 此时会出现提醒信息,但是也会输出结果。 Deprecated: define(): Declaration of case-insensitive constants is deprecated in "路径" \var.php on line 51 Deprecated: Case-insensitive constants are deprecated. The correct casing for this constant is "V" in "路径" \var.php on line 52 3.14
6.1 常量的使用
可以直接输出: define("PI" , 3.14); echo PI; 但是含有特殊字符的不行,需要借助 constant("常量名") define('-_-","smile); echo constant("-_-");
6.2 系统常量
系统帮用户定义的常量,常用的几个系统常量: PHP_VERSION:版本号 PHP_INT_SIZE:整形大小 PHP_INT_MAX:整形能表示的最大值 (PHP中是允许出现负数的)
echo '<hr/>' , PHP_VERSION , '<br/>' , PHP_INT_SIZE , '<br/>' , PHP_INT_MAX; //输出结果 7.4.26 //版本号 8 //整形所占的字节数 9223372036854775807
PHP还有一些中特殊的常量:双下划线 + 常量名 + 双下划线 (魔术常量 : 值会跟着环境改变,用户改变不了)
DIR | 当前被执行的脚本所在电脑的觉得路径 |
---|---|
FILE | 当前被执行的脚本所在电脑的绝对路径 + 自己的名字 |
LINE | 当前所属的行数 |
NAMESPACE | 当前所属的命名空间 |
CLASS | 当前所属的类 |
METHOD | 当前所属的方法 |
示例 |
七、数据类型
7.1数据分类: 数据类型 (data type) ,存储的数据本身的类型,而不是变量的类型。
数据类型(三大类八小类) 简单数据类型(基本): (四小类) 整型 :int / Integer --> 8个字节存储 整数类型(有前提) 浮点型:float / double --> 16个字节存储 小数或整数存不下的整数 字符串型:string --> 系统根据实际长度给与空间,只要有引号 布尔型:boolean / bool --> true/false 复合数据类型: (两小类) 对象类型(object):存放对象(面向对象) 数组类型(array):一次存放多个数据 特殊数据类型: (两小类) 资源类型(resource):存放资源数据, PHP外部数据(mysql 数据和文件数据) 空类型(NULL):只有一个值(NULL) 不能运算
7.2 类型转化
1、强制转换(手动) 2、自动转换(系统自己判断)
//创建数据 $a = 'abc1.1.1'; $b = '1.1.1abc'; //自动转换 echo $a+$b; // 1.1 算术+运算 , 系统先转换成数值类型(整型+浮点型),然后运算 //手动转换 echo "<br/>" , (float) $a , "," , (float)$b; //0,1.1
7.3 判断类型
$a = 'abc1.1.1'; //数据类型判断 var_dump(is_int($a)); var_dump(is_string($a)); //设定数据类型 会改变数据本身----手动转换不会改变数据本身 var_dump(settype($a,'float')); //获取类型 echo "<hr/>"; echo gettype($a),$a;
7.4进制转换函数
<?php /*进制函数 *decbin() 十进制转二进制 *decoct() 十进制转八进制 *dechex() 十进制转十六进制 *bindex() 二进制转十进制 *…… */ var_dump(decbin(107)); ?>
7.5 判断数据
//布尔类型 empty(var) 判断数据的值是否为“空” ,不是null 如果为空,返回true,如果不为空,返回false。 isset(var) 判断数据存储的变量本身是否存在,存在返回true,不存在返回false。
八、运算符
8.1 赋值运算符(=)
8.2 算数运算符(+ 、 - 、 * 、 / 、%)
8.3 比较运算符(> 、 >= 、 < 、 <= 、 == 、 != 、 === 、 !==)
8.4 逻辑运算符(&& 、 || 、 !)
//逻辑运算符例子 $a = "weekend"; $b = "goods"; //逻辑与 var_dump($a=="weekend" && $b=="good"); // //逻辑或 var_dump($a=="weekend" || $b=="good"); //逻辑非 var_dump($a=="weekend"); var_dump(!($a=="weekend")); echo "<hr/>"; #结果: bool(false) bool(true) bool(true) bool(false)
8.5连接运算符(. 和 .=)
/* 连接运算符:php中将多个字符串拼接的符号 * . 两个字符串连接在一起 * .= 复合运算,将左边的内容与右边的内容连接起来然后赋值给左边 * A .= b ===> A = A.b */ $aa = "hello"; $bb = 123; echo $aa ,"<br/>", $bb , "<br/>"; //将变量aa和变量bb连接起来 $aa .= $bb; //$aa = $aa.$bb echo $aa; /* *结果: hello 123 hello123 */
8.6 错误抑制符 (@ )
/*错误抑制符 *在php中有一些错误我们可以提前预知,但又无法避免,但是又不希望报错给用户看,所以使用错误抑制符处理 * @ : 在可能出错的表达式前使用 @ 符即可。 */ $c = 10; $d = 0; @($c / $d); //原有一个除0的错误,但是错误不会显现 //错误抑制符通常在生产环境(上线)会用到,在开发的时候不会用:系统本身最好没有任何错误
8.7 三目运算 (… ?… : …)
/* 三目运算 * 有三个表达式 *参与的运算(简单的分支结构缩写) * * 表达式1 ? 表达式2 : 表达式3 * *如果 表达式1 为 true 返回 表达式2 的值 , 反之 ,返回 表达式3 的值 */ echo 1>2 ? 2 : 1 ;
8.8 自操作运算符(++ 、 --)
//自操作运算符 // $x++ ==> $x = $x + 1 $x = 3; echo $x++; /* 结果:3 * 名称:后自增 * 1、先输出 $x * 2、$x = $x + 1 ==>$x = 4 */ echo $x; //4 echo ++$x; //5 /* 结果:5 * 名称:前自增 * 1、先运算 $x = $x + 1 ==>$x = 5 * 2、再输出 $x */ $y = 4; echo $y--; // 4 echo $y; // 3 echo --$y; // 2
8.9 衍生符号 (+= 、 -= 、 *= 、 /= 、 %-=)
/*衍生符号,类似自操作 += -= *= /= %= */ $p = 20; $q = 5; echo $p /= $q; /* 结果: 4 * $p /= $q ==> $p = $p / $q ==> $p = 20 / 5 ==> $p = 4 */
8.10 位运算(&,|,~,^,>>,<<)
https://blog.csdn.net/weixin_51368376/article/details/121922391