php基本语法 day2(2019.4.9)

一、PHP基本语法

1.PHP标记

1)标准的标记

php代码
?>
PHP 支持与HTML混编 ,混编的文件名,以.php结尾。


php基本语法 day2(2019.4.9)_第1张图片
image.png

官方推荐标记。
如果是纯PHP代码建议省略结束标记。


image.png

2)

php基本语法 day2(2019.4.9)_第2张图片
image.png

3)

短标记


php基本语法 day2(2019.4.9)_第3张图片
image.png

改完配置文件,需重启APACHE


php基本语法 day2(2019.4.9)_第4张图片
image.png

4)<%代码%>

ASP风格标记
修改配置文件


php基本语法 day2(2019.4.9)_第5张图片
image.png

重启apache


php基本语法 day2(2019.4.9)_第6张图片
image.png

2.语句结束标记

;一行语句结束以分号结尾。
js可以不加分号(自动判断结束,补全分号)。
但PHP要严格执行,否则解析出错;


php基本语法 day2(2019.4.9)_第7张图片
image.png

3.注释

被注释的代码将不被执行。
在注释里面我们可以写程序的说明,可以更好的有利于团队合作。

1)行注释

//
单行代码不被执行。


php基本语法 day2(2019.4.9)_第8张图片
image.png

2)块注释

/多行注释/注释多行代码

php基本语法 day2(2019.4.9)_第9张图片
image.png

二、变量

1.变量介绍

简言之,存储值得容器。$stuNum = 4;

1)说明

在成语运行过程中,随时可以发生变化的量。

2)定义变量

$开头后面接变量名。


php基本语法 day2(2019.4.9)_第10张图片
image.png

3)变量名的规则

遵循标识符的命名规则,标识符是指在程序员编程过程中起的名字,
如:变量名,常量,函数名。
标识符的命名规则:

①数字字母下滑线组成,不能以数字开头。
php基本语法 day2(2019.4.9)_第11张图片
image.png
②变量名严格区分大小写
php基本语法 day2(2019.4.9)_第12张图片
image.png
③不能使用系统关键字
php基本语法 day2(2019.4.9)_第13张图片
image.png
④建议英文命名,见名识意。

age 年龄

通常有两种方式

下滑线命名:

  $goods_info  商品信息。

以下划线分割两个或两个以上的单词

下划线线命名一般用于变量名

驼峰命名:

php基本语法 day2(2019.4.9)_第14张图片
image.png

a 大驼峰

$GoodsInfo

每个单词的首字母大写。

一般用于类名,和接口名

b 小驼峰

除了第一个单词其他单词首字母大写。

$goodsInfo

常用于函数名

1) 可变变量

是一种特殊的变量。

它的变量名 是 另外一个变量的值。


php基本语法 day2(2019.4.9)_第15张图片
image.png

5)变量在内存中的表现形式

变量由变量名和变量值组成;
a =100; 内存,用来存储运行的的程序。 变量名,和变量值,是存储在内存中的不同位置。 ![QQ截图20190410191359.jpg](https://upload-images.jianshu.io/upload_images/14033675-061c737d6a2faa4a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 内存组成: 栈区:空间小,运行速度快,存储,变量名,函数名,常量名等。 堆区:空间大,但运行速度慢,一般存储复杂数据(数组,和对象等); 全局数据区: 存储变量值,常量值等。 代码区: 存储函数,方法等。 案例a =100;
创建变量时 ,将变量值100 存储在全局数据区的变量区(产生存储地址0x10001000)
在栈区开辟空间,存储变量名a, 先到栈区,拿到在变量区的存储地址0x10001000,去此地址去读取值。

2.变量操作

1)变量声明

变量声明和赋值同时进行。
变量不需要指定数据类型
PHP变量有类型。
变量的值决定了变量的类型。
PHP是弱类型语言。
在程序运行变量还可以设置为其他类型的值


php基本语法 day2(2019.4.9)_第16张图片
image.png

2)获取变量的值

php基本语法 day2(2019.4.9)_第17张图片
image.png

1) 常见的输出语句

Echo 语句

输出字符串,变量或者表达式。

同时可以输出多个。是语言结构

php基本语法 day2(2019.4.9)_第18张图片
image.png

Print语句

** 也可以输出字符串,变量或表达式。**

** 不支持输出多个。也是语言结构**


php基本语法 day2(2019.4.9)_第19张图片
image.png

var_dump
输出一个或者多个变量的类型,长度和值。
一般用于打印复杂变量(数组和对象等)


php基本语法 day2(2019.4.9)_第20张图片
image.png

print_r 输出变量的值
输出结果较var_dump简洁。
php基本语法 day2(2019.4.9)_第21张图片
image.png

4)变量值的修改

age= 19;

5)删除变量

unset($var)
php基本语法 day2(2019.4.9)_第22张图片
image.png

删除变量名与变量值之间的关系。形成未定义变量。
变量名和变量值不会立即消失。
PHP有专门的垃圾回收机制来处理。

3.变量传值

将一个变量传递给另外一个变量。

1)值传递

php基本语法 day2(2019.4.9)_第23张图片
QQ截图20190410192133.jpg

num2 = num1的值。
在变量区存储100,产生新地址0x10001001,
在战区,创建变量名num2中
修改一个变量的值,另外一个变量不会改变。
php基本语法 day2(2019.4.9)_第24张图片
image.png

删除一个变量,对另外一个变量没有影响。
php基本语法 day2(2019.4.9)_第25张图片
image.png

2)引用传递

地址传递
num2 = &num1; &取地址符号,它传递的是地址。 ![QQ截图20190410192321.jpg](https://upload-images.jianshu.io/upload_images/14033675-04df35bc6c43e5a0.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 执行过程 先获取num1值的地址0x10001000;
在栈区开辟空间,创建变量$n2,存储地址0x10001000;
修改一个变量的值,另外一个变量也会改变。

php基本语法 day2(2019.4.9)_第26张图片
image.png

删除一个变量,对另外一个没有影响。
php基本语法 day2(2019.4.9)_第27张图片
image.png

4.预定义变量

PHP提前定义好的变量,直接使用,无需定义。


php基本语法 day2(2019.4.9)_第28张图片
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方式提交过来的数据


php基本语法 day2(2019.4.9)_第29张图片
image.png

4)$_REQUEST

POST + GET的数据


php基本语法 day2(2019.4.9)_第30张图片
image.png

三、常量

1.说明

程序运行过程中,值不会发生改变的量。
常量不能修改和删除。

1)语法

define(常量名,常量值,true/false);


php基本语法 day2(2019.4.9)_第31张图片
image.png

2)注意

常量默认区分大小写。
常量名推荐使用大写
常量不可以重复定义和修改数据。
如果第三个参数设为true,常量不区分大小写。


php基本语法 day2(2019.4.9)_第32张图片
image.png

2.常量的获取

1)使用常量名

直接使用常量名获取。

2)constant()

php基本语法 day2(2019.4.9)_第33张图片
image.png

可以获取特殊的常量。


php基本语法 day2(2019.4.9)_第34张图片
image.png

3.常量在内存中的表示形式

常量区不可以修改。
不可以重新定义或者修改值。
![QQ截图20190410192816.jpg](https://upload-images.jianshu.io/upload_images/14033675-fa5a0ad95002587f.jpg?

4.预定义常量

1)get_defined_constants()

php基本语法 day2(2019.4.9)_第35张图片
image.png

2)魔术常量

它的值会随着在代码中的位置的改变而改变。

①_ DIR _
php基本语法 day2(2019.4.9)_第36张图片
image.png

当前脚本所在的目录

②_ LINE _
php基本语法 day2(2019.4.9)_第37张图片
image.png

获取当前行号。

③_ FILE _
php基本语法 day2(2019.4.9)_第38张图片
image.png

获取当前脚本的路径+文件名。

四、PHP 数据类型

1.标量数据类型

一般指单个数值。
整形,浮点型,字符串类型,布尔类型。


php基本语法 day2(2019.4.9)_第39张图片
image.png

2.复合数据类型

包括数组和对象。
一般包含多个数值,数组中会有多个元素,对象里面会有多个成员属性和成员方法。


php基本语法 day2(2019.4.9)_第40张图片
image.png

3.特殊类型

null
变量未赋值
变量被删除
变量被赋值为null


php基本语法 day2(2019.4.9)_第41张图片
image.png

3)resource

资源类型


php基本语法 day2(2019.4.9)_第42张图片
image.png

php基本语法 day2(2019.4.9)_第43张图片
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 整形最大值


php基本语法 day2(2019.4.9)_第44张图片
image.png

PHP_INT_SIZE:表示整形占据的字节数。4个字节。


php基本语法 day2(2019.4.9)_第45张图片
image.png

2)其他进制转换为十进制

按权展开
123 = 3100 +2101 + 1102
017(八进制) = 7
80 +181 = 15
0xa8(十六进制) = 8
160 + 10*161 =168

3)二进制、八进制、16进制之间的转换

一个8进制可以转换成三个二进制位
一个16进制可以转换成四个二进制位
八进制 二进制


php基本语法 day2(2019.4.9)_第46张图片
QQ截图20190410193352.jpg

4)十进制转换为其他进制

转换原则:
整数部分: 除基倒取余 基 是指 几进制的几 10(十进制)->1010(二进制)


php基本语法 day2(2019.4.9)_第47张图片
QQ截图20190410194705.jpg
php基本语法 day2(2019.4.9)_第48张图片
QQ截图20190410194718.jpg
php基本语法 day2(2019.4.9)_第49张图片
QQ截图20190410194735.jpg

5.浮点型类型

价格:99.9 重量:127.3斤

1)浮点数的表现形式

常用格式:1.2 2.3 12.5
科学计数法 1.234e2 eN表示10的N次方


php基本语法 day2(2019.4.9)_第50张图片
image.png

2)说明及注意事项

浮点数是近似的,比较两个浮点数相等是有问题的

php基本语法 day2(2019.4.9)_第51张图片
image.png

最多是14位有效数字 有效数字指从左边第一个不是零的数字算起。
php基本语法 day2(2019.4.9)_第52张图片
image.png

表示范围-1.8 10^308-----1.810^308
其他编程语言,如C JAVA 有单精度和双精度之分PHP 只实现了双精度
整数范围无法表示的数字,可以使用浮点数。
超出整数范围,自动使用浮点数。
php基本语法 day2(2019.4.9)_第53张图片
image.png

浮点数占据的空间大。

6.布尔类型介绍

true,false 表示事物的真假状态。
true 和false 不区分大小写 建议小写
TRUE ,FALSE

1)逻辑判断为假(false)的情况。

整数 0
浮点数 0.0
字符串 ‘0’
字符串 ’’
空数组
null


php基本语法 day2(2019.4.9)_第54张图片
image.png

2)isset()

测试变量是否设置
变量未设置或者设置为NULL,返回false,
其他返回true.


php基本语法 day2(2019.4.9)_第55张图片
image.png

3)empty()

判断变量是否为空
逻辑判断为false的变量,使用empty判断,返回true;


php基本语法 day2(2019.4.9)_第56张图片
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


php基本语法 day2(2019.4.9)_第57张图片
image.png

五、类型判断与转换

1.gettype()

得到的结果:boolean,integer,
double (浮点型返回double,不是float)
string
array
object
null
resource


php基本语法 day2(2019.4.9)_第58张图片
image.png

2.自动转换

PHP 本身是弱类型语言,支持类型的自动转换,数据在参与运算时,会根据实际环境自动转换类型,参与运算。

1)字符串转换为数值类型

遵循原则:
纯数字的字符串转换位相应的数字。
以数字开头的字符串,转换成相应的数字。
不以数字开头的字符串,转换位0
布尔值true 转换为 1,false转换为0


php基本语法 day2(2019.4.9)_第59张图片
image.png

3.类型强制转换

转换原则:与类型自动转换原则一致。
(类型字符串)变量


php基本语法 day2(2019.4.9)_第60张图片
image.png

类型字符串:
int
bool
float
string
array
object

4.自动转换和强制转换比较

转换之后,原始数据类型不发生转换,
只是数据参与的值发生了改变。


php基本语法 day2(2019.4.9)_第61张图片
image.png

5.settype()

将变量设置为指定的类型
settype($var, ‘类型字符串’);
返回值为true,或者false
会改变变量的值。


php基本语法 day2(2019.4.9)_第62张图片
image.png

你可能感兴趣的:(php基本语法 day2(2019.4.9))