一、PHP基本语法
1.PHP标记
1)标准的标记
<?php
php代码
?>
PHP 支持与HTML混编 ,混编的文件名,以.php结尾。
image.png
官方推荐标记。
如果是纯PHP代码建议省略结束标记。
image.png
2)<script language=”php”>代码</script>
image.png3)<? 代码 ?>
短标记
image.png
改完配置文件,需重启APACHE
image.png
4)<%代码%>
ASP风格标记
修改配置文件
image.png
重启apache
image.png
2.语句结束标记
;一行语句结束以分号结尾。
js可以不加分号(自动判断结束,补全分号)。
但PHP要严格执行,否则解析出错;
image.png
3.注释
被注释的代码将不被执行。
在注释里面我们可以写程序的说明,可以更好的有利于团队合作。
1)行注释
//
单行代码不被执行。
image.png
2)块注释
/多行注释/注释多行代码
二、变量
1.变量介绍
简言之,存储值得容器。$stuNum = 4;
1)说明
在成语运行过程中,随时可以发生变化的量。
2)定义变量
$开头后面接变量名。
image.png
3)变量名的规则
遵循标识符的命名规则,标识符是指在程序员编程过程中起的名字,
如:变量名,常量,函数名。
标识符的命名规则:
①数字字母下滑线组成,不能以数字开头。
image.png②变量名严格区分大小写
image.png③不能使用系统关键字
image.png④建议英文命名,见名识意。
age 年龄
通常有两种方式
下滑线命名:
$goods_info 商品信息。
以下划线分割两个或两个以上的单词
下划线线命名一般用于变量名
驼峰命名:
image.pnga 大驼峰
$GoodsInfo
每个单词的首字母大写。
一般用于类名,和接口名
b 小驼峰
除了第一个单词其他单词首字母大写。
$goodsInfo
常用于函数名
1) 可变变量
是一种特殊的变量。
它的变量名 是 另外一个变量的值。
image.png
5)变量在内存中的表现形式
变量由变量名和变量值组成;
a =100;
创建变量时 ,将变量值100 存储在全局数据区的变量区(产生存储地址0x10001000)
在栈区开辟空间,存储变量名a, 先到栈区,拿到在变量区的存储地址0x10001000,去此地址去读取值。
2.变量操作
1)变量声明
变量声明和赋值同时进行。
变量不需要指定数据类型
PHP变量有类型。
变量的值决定了变量的类型。
PHP是弱类型语言。
在程序运行变量还可以设置为其他类型的值
image.png
2)获取变量的值
image.png1) 常见的输出语句
Echo 语句
输出字符串,变量或者表达式。
同时可以输出多个。是语言结构
image.pngPrint语句
** 也可以输出字符串,变量或表达式。**
** 不支持输出多个。也是语言结构**
image.png
var_dump
输出一个或者多个变量的类型,长度和值。
一般用于打印复杂变量(数组和对象等)
image.png
print_r 输出变量的值
输出结果较var_dump简洁。
image.png
4)变量值的修改
age= 19;
5)删除变量
unset($var)
image.png
删除变量名与变量值之间的关系。形成未定义变量。
变量名和变量值不会立即消失。
PHP有专门的垃圾回收机制来处理。
3.变量传值
将一个变量传递给另外一个变量。
1)值传递
QQ截图20190410192133.jpgnum2 = num1的值。
在变量区存储100,产生新地址0x10001001,
在战区,创建变量名num2中
修改一个变量的值,另外一个变量不会改变。
image.png
删除一个变量,对另外一个变量没有影响。
image.png
2)引用传递
地址传递
num2 = &num1值的地址0x10001000;
在栈区开辟空间,创建变量$n2,存储地址0x10001000;
修改一个变量的值,另外一个变量也会改变。
删除一个变量,对另外一个没有影响。
image.png
4.预定义变量
PHP提前定义好的变量,直接使用,无需定义。
image.png
1)$_SERVER
["SERVER_NAME"]=> 服务器名
string(15) "www.default.com"
["SERVER_ADDR"]=> 服务器地址
string(9) "127.0.0.1"
["SERVER_PORT"]=> 服务器端口号
string(2) "80"
["REMOTE_ADDR"]=> 客户机地址(remote,远程的意思)
string(9) "127.0.0.1"
2)$_GET
HTTP GET方式提交过来的数据
通过浏览器地址栏传递数据,数据的安全性较低
image.png
3)$_POST
HTTP POST方式提交过来的数据
image.png
4)$_REQUEST
POST + GET的数据
image.png
三、常量
1.说明
程序运行过程中,值不会发生改变的量。
常量不能修改和删除。
1)语法
define(常量名,常量值,true/false);
image.png
2)注意
常量默认区分大小写。
常量名推荐使用大写
常量不可以重复定义和修改数据。
如果第三个参数设为true,常量不区分大小写。
image.png
2.常量的获取
1)使用常量名
直接使用常量名获取。
2)constant()
image.png可以获取特殊的常量。
image.png
3.常量在内存中的表示形式
常量区不可以修改。
不可以重新定义或者修改值。
![QQ截图20190410192816.jpg](https://img.haomeiwen.com/i14033675/fa5a0ad95002587f.jpg?
4.预定义常量
1)get_defined_constants()
image.png2)魔术常量
它的值会随着在代码中的位置的改变而改变。
①_ DIR _
image.png当前脚本所在的目录
②_ LINE _
image.png获取当前行号。
③_ FILE _
image.png获取当前脚本的路径+文件名。
四、PHP 数据类型
1.标量数据类型
一般指单个数值。
整形,浮点型,字符串类型,布尔类型。
image.png
2.复合数据类型
包括数组和对象。
一般包含多个数值,数组中会有多个元素,对象里面会有多个成员属性和成员方法。
image.png
3.特殊类型
null
变量未赋值
变量被删除
变量被赋值为null
image.png
3)resource
资源类型
image.png
image.png
4.整型类型
integer
1)整型的表现形式
半斤八两, 一斤16两 ,十六进制。满16进1
一小时60分钟,一分钟60秒, 六十进制。满60进1
计算机底层 二进制,满2进1
十进制 最常用(0-9)
二进制(0 1) 八进制(0-7) 十六进制(0-9-A-F)
八进制 017 一般以0开头
十六进制0x1a 一般以0x开头
PHP_INT_MAX 整形最大值
image.png
PHP_INT_SIZE:表示整形占据的字节数。4个字节。
image.png
2)其他进制转换为十进制
按权展开
123 = 3100 +2101 + 1102
017(八进制) = 780 +181 = 15
0xa8(十六进制) = 8160 + 10*161 =168
3)二进制、八进制、16进制之间的转换
一个8进制可以转换成三个二进制位
一个16进制可以转换成四个二进制位
八进制 二进制
QQ截图20190410193352.jpg
4)十进制转换为其他进制
转换原则:
整数部分: 除基倒取余 基 是指 几进制的几 10(十进制)->1010(二进制)
QQ截图20190410194705.jpg QQ截图20190410194718.jpg QQ截图20190410194735.jpg
5.浮点型类型
价格:99.9 重量:127.3斤
1)浮点数的表现形式
常用格式:1.2 2.3 12.5
科学计数法 1.234e2 eN表示10的N次方
image.png
2)说明及注意事项
浮点数是近似的,比较两个浮点数相等是有问题的
最多是14位有效数字 有效数字指从左边第一个不是零的数字算起。
image.png
表示范围-1.810^308-----1.810^308
其他编程语言,如C JAVA 有单精度和双精度之分PHP 只实现了双精度
整数范围无法表示的数字,可以使用浮点数。
超出整数范围,自动使用浮点数。
image.png
浮点数占据的空间大。
6.布尔类型介绍
true,false 表示事物的真假状态。
true 和false 不区分大小写 建议小写
TRUE ,FALSE
1)逻辑判断为假(false)的情况。
整数 0
浮点数 0.0
字符串 ‘0’
字符串 ’’
空数组
null
image.png
2)isset()
测试变量是否设置
变量未设置或者设置为NULL,返回false,
其他返回true.
image.png
3)empty()
判断变量是否为空
逻辑判断为false的变量,使用empty判断,返回true;
image.png
4)is_type 系列函数
is_int/is_integer 判断是否是整形
is_float/is_double/is_numeric (判断是否是数值)
is_string (判断是否是字符串)
is_boolean/is_bool
is_array
is_null
is_resource
image.png
五、类型判断与转换
1.gettype()
得到的结果:boolean,integer,
double (浮点型返回double,不是float)
string
array
object
null
resource
image.png
2.自动转换
PHP 本身是弱类型语言,支持类型的自动转换,数据在参与运算时,会根据实际环境自动转换类型,参与运算。
1)字符串转换为数值类型
遵循原则:
纯数字的字符串转换位相应的数字。
以数字开头的字符串,转换成相应的数字。
不以数字开头的字符串,转换位0
布尔值true 转换为 1,false转换为0
image.png
3.类型强制转换
转换原则:与类型自动转换原则一致。
(类型字符串)变量
image.png
类型字符串:
int
bool
float
string
array
object
4.自动转换和强制转换比较
转换之后,原始数据类型不发生转换,
只是数据参与的值发生了改变。
image.png
5.settype()
将变量设置为指定的类型
settype($var, ‘类型字符串’);
返回值为true,或者false
会改变变量的值。
image.png
网友评论