php
DNS将域名和IP对应
端口:分为物理端口和虚拟端口,从虚拟端口来区分我们的不同的软件。
域名:port—>DNS(域名——》IP)服务器电脑—>软件.
Web程序的访问流程
Web分为两类:静态网站和动态网站
浏览器发起访问 —》DNS域名解析 —》服务器电脑—》服务软件
静态网站
PC在浏览器内输入域名,然后域名在DNS服务器中将域名转化为IP地址,DNS分为本地服务器和网络服务器,然后DNS服务器将结果返回给PC,然后PC再按照IP去需找目标计算机,从而通过端口(80),找到指定的软件Apache,后面Apache从指定的域名中找到制定的根目录下的相对路径,从而找到目标的html,Apache将该文件传送给PC,在PC上通过browser解析就可以得到网页了。
动态网站
与静态网站不同的地方在于,在Apache收到请求之后,不能直接去拿指定的网页而是通过PHP引擎对该网页进行解析,甚至可能会调用数据库,之后PHP引擎再将处理后的网站给PC,别的地方都一样喽。
Apache配置文件的修改,需要重启Apache才能起作用。
PHP底层是C语言环境,C语言是一种编译语言。
PHP的很多功能是通过加载扩展实现的。
PHP代码标记:
脚本语言:
标准语言:
<?php PHP代码 ?>
注释:
//行注释 # 行注释
/*
块注释
*/
注释内容会在php解析中忽略掉,
PHP语句分隔符
在PHP中,代码是以行为单位 ;结尾
PHP变量类型转换
1.自动转换(用的比较多,但是效率比较低)
2.强制转换(手动)
(int)$a
类型判断
is_int($变量名)
bool类型不能用echo来查看,需要使用Var_dump来查看。
var_dump((is_int($变量名)))
还有一组函数可以用来获得一级设定数据(变量)的类型
Gettype:获得类型,
settype:设定数据类型与强制转换不同,会改变数据类型,但是强制转换不会改变数据类型。
强制转化不会改变数据本身的类型。
var_dump(settype($b,’int’))
整数类型:保存整数类型,4个字节储存数据,最大就是32位,42亿。但是我们PHP中默认是有符号类型,(区分正负号)
十进制:
$a = 120;
$b = 0b110;
$a = 0120;
$a=0x120;
浮点类型:小数类型以及超过数据所能储存的范围(不包括整形)
简单说明一下为什么同样的字节数目存储数据,但是浮点数却能表示更大的数据。
0000 0000 0000 0000 0000 0000 0000 0000
-> 1111 1111 1111 1111 1111 1111 1111 1111
整形所有位置表示有效数据,
浮点数:黄色的7位的结果表示是一个10的指数,后三个字节储存表示具体数值
0==0000000== 00000000 00000000 00000000
这样的话可以表示更大的数字,尽量不要用浮点数做精确计算,在计算机中浮点数都不准确。
布尔类型ture和flase不区分大小写。
在进行某些数据判断的时候,需要特别注意的是:
Empty()是用来判断数据的值
isset()是用来判断变量是否存在。
PHP中的比较运算符
==:表示左边等于右边(大小相等就好了,不需要数据类型相等)
!=:表示左边不等于右边(大小不同)
===全等于,左边与右边相同:大小以及数据的类型都要相同
!==不全等于,只有大小或者类型不同。
逻辑运算符
逻辑与:&&
逻辑或 |
逻辑非:!
连接运算符
. :将两个字符串连接到一起
.=
错误抑制符:
在可能出错的位置前面加上一个@
三目运算
Switch($变量名):{
case value1:
break;
case value2:
break;
case value3:
break;
default:
break;}
PHP的替代语法:
左大括号使用冒号:替代
右大括号使用end+对应的其实标记代替 比如:if switch for while foreach
include 报错之后还是能够继续执行后续代码。但是request报错的话就不能继续执行后续代码。