php基本语法 day2(2019.4.9)

一、PHP基本语法

1.PHP标记

1)标准的标记

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


image.png

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


image.png

2)<script language=”php”>代码</script>

image.png

3)<? 代码 ?>

短标记


image.png

改完配置文件,需重启APACHE


image.png

4)<%代码%>

ASP风格标记
修改配置文件


image.png

重启apache


image.png

2.语句结束标记

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


image.png

3.注释

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

1)行注释

//
单行代码不被执行。


image.png

2)块注释

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

image.png

二、变量

1.变量介绍

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

1)说明

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

2)定义变量

$开头后面接变量名。


image.png

3)变量名的规则

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

①数字字母下滑线组成,不能以数字开头。
image.png
②变量名严格区分大小写
image.png
③不能使用系统关键字
image.png
④建议英文命名,见名识意。

name 姓名age 年龄

通常有两种方式

下滑线命名:

  $goods_info  商品信息。

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

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

驼峰命名:

image.png

a 大驼峰

$GoodsInfo

每个单词的首字母大写。

一般用于类名,和接口名

b 小驼峰

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

$goodsInfo

常用于函数名

1) 可变变量

是一种特殊的变量。

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


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,将变量值得存储地址,存储在变量命中。 读取变量时 读取a, 先到栈区,拿到在变量区的存储地址0x10001000,去此地址去读取值。

2.变量操作

1)变量声明

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


image.png

2)获取变量的值

image.png

1) 常见的输出语句

Echo 语句

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

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

image.png

Print语句

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

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


image.png

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


image.png

print_r 输出变量的值
输出结果较var_dump简洁。
image.png

4)变量值的修改

age =18 ;age= 19;

5)删除变量

unset($var)
image.png

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

3.变量传值

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

1)值传递

QQ截图20190410192133.jpg

num2 = num1的值。
在变量区存储100,产生新地址0x10001001,
在战区,创建变量名num2中
修改一个变量的值,另外一个变量不会改变。
image.png

删除一个变量,对另外一个变量没有影响。
image.png

2)引用传递

地址传递
num1 =100;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;
修改一个变量的值,另外一个变量也会改变。

image.png

删除一个变量,对另外一个没有影响。
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://upload-images.jianshu.io/upload_images/14033675-fa5a0ad95002587f.jpg?

4.预定义常量

1)get_defined_constants()

image.png

2)魔术常量

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

①_ 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(八进制) = 7
80 +181 = 15
0xa8(十六进制) = 8
160 + 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)说明及注意事项

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

image.png

最多是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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容

  • 1.认识php php是服务端嵌入到HTML中的脚本语言。php的功能包括但不限于: 收集表单数据 生成动态网页 ...
    楠哥哥_0b86阅读 846评论 3 1
  • php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语言,...
    dptms阅读 1,914评论 1 15
  • 参考资料:PHP5 权威编程 变量 定义:$变量名 = 值; 例如:$demo = 1; 变量的基...
    _1633_阅读 1,671评论 1 4
  • 一、PHP基本语法 1.PHP标记 1)标准的标记 <?phpphp代码?>PHP 支持与HTML混编 ,混编的文...
    致自己_cb38阅读 259评论 0 0
  • 关于 Swift 重要这个文档所包含的准备信息, 是关于开发的 API 和技术的。这个信息可能会改变, 根据这个文...
    无沣阅读 4,299评论 1 27