php基础语法,函数

1.显示
echo 是在PHP里面最常用的一个输出、显示功能的命令,print

2.注释
// 表示单行注释
/*
多行注释 这里是注释区域代码
*/

3.字符串
在PHP语言中声明字符串有三种方式:
1.用单引号声明
2.用双引号声明
3.用字界符声明(需要输入非常大段的字符串时使用)
双引号和单引号有什么区别呢?
1.双引号解析变量,但是单引号不解析变量。
2.在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开。
3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。
4.双引号解析转义字符,单引号不解析转义字符。但,单引号能解析' 和
5.单引号效率高于双引号,尽可能使用单引号
6.双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。
7.神奇的字符串拼接胶水——(.)点,用来拼接字符串。
8.我们将定界符声明字符串视为双引号一样的功能来看待。

4.var_dump() 是一个函数。
向括号()中间插入变量。这个函数,会打印出来数据类型,还会对应显示变量的长度和值。

5.NULL类型
以下三空情况会产生空(null)类型:
1.通过变量赋值明确指定为变量的值为NULL
2.一个变量没有给任何值
3.使用函数unset()将变量销毁掉

6.empty()
可以向括号中间传入一个变量。这个变量的值如果为false或者为null的话,返回true。

7.isset()可以判断是否为空
可以向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有有一个变量为null,则返回false。否则,则返回true。

8.unset()
这个函数的功能是毁掉变量。unset(变量)括号中间插入想要毁掉的变量名,这个变量就会被毁掉。

9.查看数据类型
1.gettype(传入一个变量) 能够获得变量的类型
2.var_dump(传入一个变量) 输出变类型和值

10.判断数据类型
我们使用is_* 系列函数。 is_types这一系列的函数,来进行判断某个东西是不是某个类型。如果是这个类型返回真,不是这个类型返回假。
is_int 是否为整型
is_bool 是否为布尔
is_float 是否是浮点
is_string 是否是字符串
is_array 是否是数组
is_object 是否是对象
is_null 是否为空
is_resource 是否为资源
is_scalar 是否为标量
is_numeric 是否为数值类型
is_callable 是否为函数

11.布尔值的自动类型转换
自动类型转换,就是数据类型在某些情况下,自动会变为其他的类型参与运算。自动类型转换的发生时机是:运算和判断的时候某些值会自动进行转换。
下面的情况是布尔值判断时的自动类型转换:
1,整型的0为假,其他整型值全为真
2, 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。
3,空字符串为假,只要里面有一个空格都算真。
4,字符串的0,也将其看作是假。其他的都为真
5,空数组也将其视为假,只要里面有一个值,就为真。
6,空也为假
7, 未声明成功的资源也为假

12.强制类型转换
强制类型转换有三种方式:
1.用后面的三个函数可以完成类型转换,intval()、floatval()、strval()
2.变量前加上()里面写上类型,将它转换后赋值给其他变量
3.settype(变量,类型) 直接改变量本身

13.强制类型转换时的特点
1.空转为整型会为整型的0
2.空转为浮点会为浮点的0
3.空转为字符串会为空字符串‘’
4.浮点的123.0转为字符串会为字符串123
5.浮点的123.2转为字符串会为字符串的123.2
6.浮点即使小数点再大,它都会被干掉,会舍掉小数点后面的值
7.如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。
8.settype(变量,'null'); 等价于 unset()一个变量
9.$目标变量 = (类型)$操作变量 只会改变目标变量的类型,不会改变原变量的类型,Settype是改变原值

14.常量在代码中的定义、书写方式:
define(常量名,常量值)
注:
1.常量值只能为上一章中我们讲到的标量(布尔,整型,浮点,字符串)。
2.常量名可以小写,但是通常大写
3.常量名可以不加引号,但是通常加上引号。
4.在字符串中调用常量的时候,必须在引号外面
5.常量名建议只用字母和下划线

15.系统内置的常量。这些常量都是规定好的。先熟悉几个


php基础语法,函数_第1张图片
image.png

16.defined()函数来做安全机制
defined()我们来学习这种用法,主是是为了防止其他人绕过安全检查文件。
函数:defined(常量)
功能:向函数的括号后面传入常量,如果常量定义了就返回true,否则返回false

17.可变变量
其实就是——已声明的变量前,再上变量符。


php基础语法,函数_第2张图片
image.png

在提交数据的时候,我们常用的方法有get和post。可以这样理解,get传值在url中可见,而post传值在url中不可见。
而post传值在url中不可见,是通过浏览器的header头部份将数据发送给指定服务器的

19.环境变量
我们主要用的有$_SERVER和$_ENV两个环境变量。
在哪儿查看环境变量的名字(key)和值(value)?

phpinfo();

?>
执行phpinfo();的这个网址中,将网页向下拉动翻页,找到Variable,显示了所有环境变量
常用的环境变量的键名和值对应的意思:


php基础语法,函数_第3张图片
image.png

URI 和URL都是网址,但是URL带有了主机地址部份,而URI不带主机地址部份,例如:
http://www.php.cn/abc.php?username=php 上面是一个URL(统一资源定位符),而URI是不带主机和([http://)协议的部份:abc.php?username=php

20.变量引用
$fo = 5;
//注意,加上了一个&符哟
$bar = &$fo;
此时变量bar和fo指向同一个内存地址,一个改变,另一个也改变

21.算数运算符:


php基础语法,函数_第4张图片
image.png

22.赋值运算符


php基础语法,函数_第5张图片
image.png

23.自加,自减


php基础语法,函数_第6张图片
image.png

24.比较运算符


php基础语法,函数_第7张图片
image.png

三个等号,我们说他还有一个名字是判断类型等于。两个等号只判断值,不判断类型,例如,字符串‘5’和整型数字5。两个等号判断为真,三个等号判断为假

25.逻辑运算符


php基础语法,函数_第8张图片
image.png

26.位运算。了解知识


php基础语法,函数_第9张图片
image.png

27.三元运算符和其它运算符


php基础语法,函数_第10张图片
image.png

28.分支结构switch语句的使用


php基础语法,函数_第11张图片
image.png

29.循环语句


php基础语法,函数_第12张图片
image.png

30.流程控制之do...while循环的区别
do...while与while的语法结构基本一样,也是一个布尔型循环,功能也基本一样。
基本语法规定如下


php基础语法,函数_第13张图片
image.png

do-while 不论while判断是否成立,先执行一次代码代码块循环语句,保证会执行一次(表达式的真值在每次循环结束后检查)。
然而我们之前的while循环会检查布尔判断区域,成立则执行。不成立则不执行。

31.break,exit和continue


php基础语法,函数_第14张图片
image.png

32.goto 操作符
goto 操作符可以用来跳转到程序中的另一位置。
该目标位置可以用目标名称加上冒号来标记,而跳转指令是 goto 之后接上目标位置的标记。
PHP 中的 goto 有一定限制,目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无法跳入到另一个函数。也无法跳入到任何循环或者 switch 结构中。可以跳出循环或者 switch,通常的用法是用 goto 代替多层的 break。

33.自定义函数的语法规定


image.png

规定:
1.函数以function开始
2.function后面接空格,空格后接函数名
3.函数名与变量命名规则基本一样,但是不同的是:函数名不区分大小写
4.所谓参数其实就是变量
5.函数名后接括号,括号内跟参数,参数全都有[](中括号)括起来了,代表参数可填可不填
6.如果有参数的话,参数后可以接(=)等号,等号接默认值。参数值也是用[](中括号)括起来的,代表选填
7.函数后的参数变量,主要功能是把函数体外的变量值,传入函数体内来使用,函数体的变量和函数体外的变量通常是两个不 同的变量。
8.函数中的具体功能(功能体)用大括号括起来,代表这是一个函数的功能区间
9.函数可以有返回值也可以没有返回值,用[](中括号)括起来的,代表选填。
10.return后接空格,空格后接返回值,若有return,return后的代码均不执行。
11.函数的执行没有顺序关系,可以在定义处之前的位置调用
12.函数不能被定义两次,即函数不能被重载

34.回调函数
就是在处理一个功能的时候,让这个功能自定义能力再强一些,我准许调用这个函数的时候,还可以传入一个函数配合、协助进行处理


php基础语法,函数_第15张图片
image.png

35.变量函数


php基础语法,函数_第16张图片
image.png

36.匿名函数
也就是没有函数名的函数


php基础语法,函数_第17张图片
image.png

回调式的匿名函数


php基础语法,函数_第18张图片
image.png

37.内部函数
是指在函数内部又声明了一个函数
注意事项:
1.内部函数名,不能是已存在的函数名
2.假设在函数a里面定义了一个内部函数,不能调用两次函数a。


php基础语法,函数_第19张图片
image.png

38.变量作用域
函数定义时后括号里面接的变量是形式上的参数(形参),与函数体外的变量没有任何关系。仅仅是在函数内部执行
函数内声明的变量也与函数外的变量没关系。
但是,我们实际的处理情况中会遇到这样的一个情况:
我想在函数体内定义的变量在函数体外用
我想把函数体外的变量拿到函数体内来使用
这个时候就需要用到超全局变量


php基础语法,函数_第20张图片
image.png

php基础语法,函数_第21张图片
image.png

php基础语法,函数_第22张图片
image.png

39.自定义函数之参数的引用
将形参和实参指向到同一个位置。如果形参在函数体内发生变化,那么实参的值也发生变化


php基础语法,函数_第23张图片
image.png

我们发现实参为$foo,在调用demo的时候,让$foo和$n指向到了同一个存储区域,当$n的值发生变化的时候。那么$foo的值也发生变化

40.递归函数
递归只是一个名字,而递归函数的规定:函数体内调用函数自己


image.png

41.静态变量
静态变量的特点是:声明一个静态变量,第二次调用函数的时候,静态变量不会再初始化变量,会在原值的基础上读取执行。


php基础语法,函数_第24张图片
image.png

42.文件包含(引用)函数
在PHP中, 有require、require_once、include、include- once四种方法包含(引用)一个文件


image.png

43.数学常用函数


image.png

44.获取时期时间信息函数
用法如下:
bool date_default_timezone_set ( string $timezone_identifier )
功能如下:
用于所有日期时间函数的默认时区


php基础语法,函数_第25张图片
image.png

unix时间戳
电脑本身不认识时间,我们在电脑里面设置一个时间方便运算。于是我们规定了一种计算方式,unix时间戳。
从Unix纪元(1970 年 1月1日零时)开始到一个时间经过的秒数。


php基础语法,函数_第26张图片
image.png

date函数用于将一个时间进行格式化输出,以方便时间的显示或存储。其语法格式如下:


image.png

示例:


php基础语法,函数_第27张图片
image.png
php基础语法,函数_第28张图片
image.png

45.日期验证函数
checkdate可以判断一个输出的日期是否有效。


php基础语法,函数_第29张图片
image.png

46.获取本地化时间戳函数
mktime()函数可以对一个日期和时间获得一个本地化时间戳。其语法格式如下所示:


php基础语法,函数_第30张图片
image.png

mktime函数的返回结果是一个Unix时间戳,对用户的含义不大,常常与date函数一起完成时间的转换。

我们使用的时候还经常需要使用到另外一个函数:strtotime()。


php基础语法,函数_第31张图片
image.png

47.程序执行时间检测


php基础语法,函数_第32张图片
image.png

我们来模拟一个检测函数执行时间的例子,测试某个函数效率的快慢:

image.png

48.字符串常用函数


image.png

中文主要用的是GBK和utf-8两种编码格式。
GBK和utf-8是两个不同的编码委员会对于汉字进行的编码的标准。
他们规定GBK是双字节,也就是一个汉字占用2Bytes。
utf-8是三字节,一个汉字占用三个字节长度的存储空间。

49.数组的定义
数组可以存入多个不同类型的数据,是一个复合数据类型。


php基础语法,函数_第33张图片
image.png

注:上例中echo pre这个标签的主要目的是为原样输出,格式展示的更好看,更清晰。
=> 是一个符号标准叫法叫作:键值对应符。因此,以后再看到 0=> int 1 可以这样来说。 下标访问符0对应整型的1。

50.索引数组的下标可以不从0开始


php基础语法,函数_第34张图片
image.png

总结规律:
1.索引数组若不强制声明他的下标,他的下标是从0开始的。(我们的第一个数组的值:只有不断努力才能博得未来。这个值的下标为0)。
2.如果我指定过下标他的下标就为我指定的值。如下标为10和下标为19的,都是我指定过的值。
3.若某个值(如NoAlike),强制指定了下标(下标为10)。在它后面加上的值(PHP中文网),不指定下标的话。他们的下标增长规律为最大值+1。

51.向索引数组中增加元素


php基础语法,函数_第35张图片
image.png

总结:
1.向索引数组中增加元素用: 数组变量名[]、数组变量名[键值]这两种方式来增加元素
2.键值的增长规则与之前的规则一样。都是最大值加1的原则。

52.向索引数组中删除元素


php基础语法,函数_第36张图片
image.png

总结:
1.使用unset删除变量的方式来删除数组里面的值。
2.删除了中间的值,并不会让后面的下标向前自动移动。而是原来的值为多少就为多少
3.删除掉其中的某个值,新加入的值不会替换掉原来的位置,依然遵循最大值加1的原则。

53.修改数组中的值
用变量名[键] = 新值。就把数组中的值定的值修改了

54.索引数组的其他声明方式


php基础语法,函数_第37张图片
image.png
php基础语法,函数_第38张图片
image.png

55.关联数组(其实就是字典)


php基础语法,函数_第39张图片
image.png

1.声明关联数组是 键名 => 值
2.在关联数组可以有索引数组的元素
3.关联数组中的索引数组的元素后再声明了无下标的元素,依然是最大值+1原则。(观察上图中的值为孙俪、娘娘的两个元素)。

56.关联数组的增、删、改
操作方式与索引的操作方式一样。只不过下标在读取有点不一样


php基础语法,函数_第40张图片
image.png

57.其他的关联数组声明方式


php基础语法,函数_第41张图片
image.png

在关联数组当中也是可以不用array,直接在变量后面接括号。括号里面插入字符串下标,一样也声明成功。

58.数组当中插入数组
一维索引数组


php基础语法,函数_第42张图片
image.png

二维索引数组


php基础语法,函数_第43张图片
image.png

【切记】
数组元素间的分割符为逗号,在数组中插入数组的时候,不要在结尾处写成了分号(;)
多维数组同理。

59.数组的计算
计算某个一维数组的个数


php基础语法,函数_第44张图片
image.png

php基础语法,函数_第45张图片
image.png
  1. for循环遍历索引数组


    php基础语法,函数_第46张图片
    image.png

61.​foreach遍历关联数组(字典)
foreach的基本语法


image.png

这是一个固定用法,将要循环的数组放进去。
as 是一个固定的关键字
后面的键变量是可选的,随意定义一个变量,每次循环的时候,foreach这个语法会把键取出来赋值到键变量里面
后面的值变量是必填的。每次循环的时候,会把值放到值变量里面。


php基础语法,函数_第47张图片
image.png

1.每次循环的时候,把下标赋值给了变量$key,把值的变量赋值给了变量$value
2.循环一次读一次键和值。如上例中,读完“凤姐”再读取“芙蓉”,读到最后,发现没有可以读取的数组元素后,停止循环遍历数据。
注意:$key 和$value并不是变量名必须得为这两个名字。你命名为其他的也可以,如 $kai => $wen是一样的。 你要清楚键赋值给了哪个变量,值赋值给了另外的哪个变量。

61.foreach遍历索引数组


php基础语法,函数_第48张图片
image.png

62.foreach遍历多维数组


image.png

63.list、each函数遍历数组
list的功能就是从左到右,一一对应索引数组从0开始的下标值。


php基础语法,函数_第49张图片
image.png

list的另外一种用法:


php基础语法,函数_第50张图片
image.png

64.常用操作数组函数


php基础语法,函数_第51张图片
image.png

其他数组操作函数:


php基础语法,函数_第52张图片
image.png

你可能感兴趣的:(php基础语法,函数)