一、介绍安装环境:
1.源码包安装:可以自己选择版本,编译安装…(linux阶段学习)
2.一键安装:编译好的,版本选择不了。只能用…安装非常快… (学习阶段用)
介绍环境:
环境中包含 1.Apache服务器(wampapache)
2.MySQL服务器wampmysqld
安装成功后会有两个服务:Apache2.4 (端口:80)、MySQL5(端口:3306)
还有一个php:脚本解释引擎
3.Php解析器 Apache的一个模块
1.服务器如何开启和关闭?
A.如果是图形化界面 可以通过界面start 开启| stop关闭 | restart重启
B.也可以用cmd命令行 输入net 加start | stop | restart 加服务名称
C.我的电脑--服务和应用程序---服务 -- wampapache
修改服务的配置文件后,必须重启服务(重新加载配置文件)
2.Apache服务器根目录
Wamp: wamp/www/
Xampp: xampp/htdocs
3.Apache服务配置文件路径:
a) D:/wamp/bin/apache/apache2.4.18/conf/httpd.conf
b) D:/xampp/apache/conf/httpd.conf
4.MySQL服务配置文件路径:
D:/wamp/bin/mysql/mysql5.7.11/my.ini
D:/xampp/mysql/bin/my.ini
5.php解析器 配置文件路径:
Phpinfo(); 所有与php相关配置信息 标题 表格 php支持模块(数据库)
环境目录介绍:
Logs日志 .txt .log 类型一个MIME 文本文档
.conf 配置文件
Tmp临时目录
二、web工作原理:解析php
A.在浏览器地址栏中输入url地址 回车 向服务器发送请求
B.Apache服务器接收请求 进行判断
i. 如果是.html文件,直接返回给客户端浏览器
ii. 如果是.php文件,Apache服务器上的php解析器(动态生成html) 再返回给客户端浏览器
iii. Php连接mysql服务器(取数据) php文件
C.由客户端浏览器解析html(网页)
Html,css 直接由客户端浏览器解析
三、什么是PHP?
超文本预处理器 php是解释性语言,不是编译性语言。
服务器端脚本语言(必须走服务器)
可以嵌入到html中(可以与html进行混编)后缀名必须为.php
代码有问题时服务器会报错
四、php语法
1.编写php文件
A.后缀名为 .php
B.使用编辑器打开 转为utf-8无BOM格式
C.Php标记
i. <?php 推荐使用 纯php文件
ii. <?php ...?> 推荐使用 混编使用
必须开启相关php配置文件才可以
iii. <? .... ?>短风格标记 必须开启 short_open_tag = On
iv. Php7不支持 php5.6支持
v. <%…%> asp php7去掉 php5.6支持
vi. php7去掉
2.注释
单行注释: // # 多行注释:/…/
/** … */ 文档注释 可以使用工具提出来生成文档
注释作用:
解释说明 调试代码 利于维护升级 团队合作开发 思路 修改时可以注释
注意:能注释多行的注释都不能嵌套使用
1.每条语句必须使用分号结束 ; 最后一条语句可以加可以不加<?php ... ?>(要求都加)
3.报语法错误
特点:程序未执行前,先检查语法
错误类型:
解析错误:语法错误 错误的详细说明
Parse error: syntax error, unexpected ‘echo’ (T_ECHO), expecting ‘,’ or ‘;’ in D:\wamp\www\170\20161027php1\2.php on line 5
五、php变量 variables 变量 弱类型语言()
1.什么是变量? 临时存储值的空间 是可以变化的量
2.变量的命名规则:
必须以 符 开 头 , 后 面 由 数 字 、 字 母 、 下 划 线 组 成 。 数 字 不 能 挨 着 符开头,后面由数字、字母、下划线组成。数字不能挨着 符开头,后面由数字、字母、下划线组成。数字不能挨着符。变量命名必须有意义。变量严格区分大小写。
= 赋值符号 从右往左读 将什么只赋给什么变量
== 等于
3.Php变量类型(八种)
四种标量:
A.整型 int
B.浮点型 float
C.字符型 string
D.布尔型 bool
两种复合:
A.数组 array
B.对象 object
两种特殊:
A.资源 resource
B.空 null
函数 – 功能–
Var_dump(变量名称); 打印变量的值和类型
phpinfo(); 所有与php相关的配置
Echo 将内容给浏览器 (输出)
3.1四种标量:
1.整型 int
计算机单位:
1字节=8位
1KB=1024字节…
Bit位–字节bytes–KB–MB–GB—TB…
I.占4字节,32位而且是没有无负号
(计算机最小单位 二进制0 1) 最高位代表符号位 31位
储存值:-2147483648~2147483647
八进制:以0开头0-7
十进制:0-9
十六进制:以0x开头 0-9a-f
输出其它进制时,会转成十进制数
$a = 1; 十进制 — 二进制 (自己做一下)
10以内 5以内
1-----1
2-----10
3----11
4----100
5----10
2.浮点型false 小数
占8字节
小数: 4.56
科学技术法: 2e3 2e-3
不要去用浮点数比较,程序判断不准确
3.布尔型bool true false
应用最广范围
/总结布尔的真 假 情况/
//总结布尔假的八种情况情况 其余全为真 八类型
整型 int 0
浮点型 float 0.0
布尔型 false
字符型 ‘’, ‘0’ “”字符串 空 以及 字符串”0”
数组 不包括任何元素的空数组 array()
null null的三种情况 (null本身 未定义的变量 使用unset销毁的变量)
4.字符型 string(三种方式)
1.单引号’’
2.双引号 “”
单双引号的区别:
解析变量:
单引号不解析变量,支持单引号’和\的转义。
双引号可以解析变量,一般使用{}括起来,双引号支持所有转义字符 \n,\r,\s,\t,…
效率:单引号效率高于双引号
单引号中使用单引号需要加\’ 单引号中可以使用双引号
双引号中使用双引号需要加\” 双引号中可以使用单引号
3.大量内容或文本使用此方式 定界符<<<
可以任意使用单双引号。
<<<EOF后面不能跟任何内容 独占一行
内’容’aa”sdfdsf”…
EOF;后面不能有任何内容
特点:同双引号。
Php5.4以上版本
<<<’EOF’后面不能跟任何内容 独占一行
内’容’aa”sdfdsf”…
EOF;后面不能有任何内容
特点:同单引号
3.2两种复合类型
数组array 一组数
对象object 由类实例化出来
3.3两种特殊类型:
资源resource 打开目录 打开文件
空:null
未定义的变量
直接赋值为Null
使用unset(变量名称)销毁的变量
4.类型转换
a) 自动类型转换 判断或计算
i. 判断
ii. 参与运算的时候True 1 false 0 null 0
iii. 输出的时候Echo true 1 echo false echo null浏览器什么都没有
iv. 字符串参与运算 如何转换
-
看字符串中的第1个字符。如果是字母直接返回0
-
如果是数字,则继续找下一位,直到碰到非数字,返回非数字前面的部分。
-
如果是数字,则继续找下一位,如果碰到字母e,会多找一位如果下一位是数字则进行科学技术法。如果不是数字则返回e前面的部分。
b) 强制类型转换
需要使用时才使用 var_dump((int)12.3); 强制转换为整型
(int)变量名称
(float)变量名称
(string)变量名称
(bool)变量名称
(array)变量名称
(object)变量名称
(unset)变量名称
注意:其他类型不允许转成资源 没有任何意义
常用的强制转换 标量之间
六、新知识点:$_GET $_POST 设置浏览器编码
接收get方式提交的数据:$_GET
接收post方式提交的数据:$_POST
header(‘Content-type:text/html;charset=utf-8’);
//设置浏览器编码
七、与变量相关功能(函数)
1、判断变量是否属于哪儿种类型
Is_八种变量类型词
is_int(变量名称)…
Is_numeric(变量名称) 检测变量是否为数字或数字字符串 4 ‘4’
gettype();获取一个变量的类型
*unset(); 销毁一个变量
*isset(); 判断一个变量是否存在
*empty(); 判断一个变量是否为空
*var_dump(); 格式化输出指定变量信息(包含类型)
is_bool():判断是否是布尔型
is_int()、is_integer()和is_long():判断是否为整型。
is_float()、is_double()和is_real():判断是否为浮点型
is_string():判断是否为字符串
*is_array():判断是否为数组
*is_object():判断是否为对象
is_resource():判断是否为资源类型
is_null():判断是否为null
is_scalar():判断是否为标量
*is_numeric():判断是否是任何类型的数字和数字字符串
is_callable():判断是否是有效的函数名
根据手册
a) 自学 isset(变量名称)检测一个变量是否被设置
b) 自学empty(变量名称)检测一个变量是否为空
得到结论:isset,empty什么情况下为真,什么情况下为假
Isset 检测变量是否设置 变量设置为null的情况为假 未定义的变量 和 用unset销毁的变量为假 其余全为真
Empty 检测变量是否为空 变量false或者null的三种情况为真 其余都为假
八、可变变量
以一个变量的值,作为另一个变量的名称(变量的值符合变量命名规则)
从右往左读,一个 一 个 一个 一个去解析
$$$a; 会读
九、引用赋值 值传递 址传递
$b = $a;
KaTeX parse error: Expected 'EOF', got '&' at position 5: b = &̲a; 两个变量互为别名
特点:1,使用 & 符号来进行引用赋值
2,两个变量互为别名,更改其中任何一个变量的值,另一个会随着改变;销毁其中任何一个变量的值,另一个不变。
Php变量 变量名称 变量的值(变量类型) 类型转换 可变变量 引用赋值 与变量相关函数
十、Php常量
Mixed 混合类型 不一定是几种类型的混合 int+float+string int+bool …
Number数值 — int+float
1.常量定义方式(2种):
1.Define(常量名称,常量值);
2.const 常量名称 = 常量值;
使用常量 输出常量
Echo 常量名称;
2.常量名称
要求大写,命名有意义,符合命名规则 ,不能有$符号,
3.常量值
标量(int+float+string+bool)
Null
4.常量特点:
o 常量一旦定义就不能被重新定义或者取消定义
o 常量定义后可以在页面任何地方访问。函数体内也可以,而变量在函数体内不可以
5.系统常量 去记
echo ‘php的版本为:’.PHP_VERSION;
echo ‘php的版本为:’.PHP_OS;
6.魔术常量
echo ‘当前文件路径:’.FILE;
echo ‘当前文件路径中目录部分:’.DIR;
echo ‘当前所在的行号’.LINE;
7.怎么去看手册?
[]是可选项 可有可无
类型 功能名称 (类型 变量名称 , 伪类型 变量名称 [,类型 变量名称=false])
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
Mixed:类型混合 不一定是几种类型混合,但一定不是 int+float 数值的混合
Number: int+float 数值