目录 |
---|
一、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特点:临时存储数据。
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。