php基础教程之学习笔记1
1.1 回顾1、 静态网站和动态网站
a) 不支持数据交互的网站(.htmlhtm)
i. 优点:速度快,最安全
ii. 缺点:更改不方便,
b) 支持数据交互的网站
i. 优点:更改方便
ii. 缺点:效率和安全性都没有静态网站高
iii. 实现动态网站的技术
1. Asp.asp
2. Php.php
3. .net.aspx
4. Java.jsp
2、 客户端和服务器端
a) 客户端:浏览器使用的计算机
b) 服务器端:存放网站代码的机器。
3、 端口和端口号
a) 端口就是服务运行的入口,就类似于大楼的门
b) 端口号:门的门牌号 0-65535
4、 BS和CS架构
a) Bs:通过浏览器访问服务器
b) CS:通过客户端访问服务器
5、 前台和后台
a) 前台:浏览器看到到界面
b) 后台:管理员操作的界面
6、 站点、虚拟目录、虚拟主机
a) 站点:存放网站内容的文件夹
b) 虚拟目录:有权限的文件夹
c) 虚拟主机:有权限的文件夹+域名+端口+其他一些配置
7、 Apache的安装
a) Apache的默认端口80
b) 在地址栏中输入http://localhost 显示it works表示正常
c) Apache的配置文件夹是 conf文件夹
d) Apache的配置文件conf/httpd.conf
e) Htdocs是默认虚拟目录
8、 PHP安装
a) Php的配置文件php.ini
b) 在虚拟目录中新建PHP测试文件。
9、 Mysql的安装
a) MySQL默认端口是3306
10、 程序的卸载
a) 控制面板——程序——选择程序——卸载
11、 LAMP和WAMP
a) LAMP:linux+apache+Mysql+php
b) WAMP:windows+apache+mysql+php
12、 更改虚拟目录
a) DocumentRoot用来更改虚拟目录
b) 要注意更改文件夹的权限
13、 更改首页
a) DirectoryIndex
14、 更改监听端口
a) Linsten
15、 DNS解析
a) DNS:运行解析系统,浏览器输入域名,先到最近的DNS服务器上解析出域名对应的IP地址,然后通过IP地址去访问服务器。
b) 最近的DNS就在本地,位置:C:\Windows\System32\drivers\etc\host
16、 虚拟主机的配置
a) 开启虚拟主机Include conf/extra/httpd-vhosts.conf
b) 在httpd-vhosts.conf文件中去做相应的配置
1.3 PHP简介
PHP: Hypertext Preprocessor,中文名:“超文本预处理器”) 是一种通用开源脚本语言,PHP运行在服务器端。
1.4 PHP四种定界符
1.4.1 标准风格(推荐使用)
1.4.2 短标记风格
默认是不支持短标记风格,要在PHP的配置文件中(php.ini)中开启支持短标记,重启服务器
http://s1.运维网.com/wyfs02/M01/89/F6/wKioL1gi5uGS1P6UAAAHeiNxWnc235.png
1.4.3 asp风格
默认是不支持asp风格定界符,要在php.ini中开启。重启服务器
http://s3.运维网.com/wyfs02/M00/89/F6/wKioL1gi5yXSuCaPAAADwjonlgE203.png
http://s4.运维网.com/wyfs02/M02/89/F9/wKiom1gi5z3RIjfHAAAWG62Yt9s214.png
1.4.4 Script标记风格
echo '锄禾日当午';
PHP支持省略结束标记,PHP定界符开始的地方一直到最后全部都是PHP代码的情况可以省略PHP结束符。
http://s5.运维网.com/wyfs02/M01/89/F6/wKioL1gi51iDmhIDAAAWBiL7xqg747.png
1.5 PHP语法的特点:
1、 php语句以分号结尾。
2、 PHP的关键字不区分大小写,变量名是区分大小写。
1.6 变量
变量是计算机内存中的一段空间。
http://s3.运维网.com/wyfs02/M01/89/FA/wKiom1gi5_HTzxiDAAAD2NMJy1M757.png
1.6.1 变量的命令规则
必须以$开头,$不是变量名的组成部分,仅仅表示PHP变量名从这里开始。
除了$以外,字母、下划线开头,后面跟的是字母、数字、下划线。
下列变量名合法的是:
$a1合法
$1a不合法
$_1a合法
$a-1不合法
$a%不合法
1.6.2 变量的赋值
用=来做赋值运算
变量可以传值也可以传地址
http://s4.运维网.com/wyfs02/M02/89/FA/wKiom1gi6AaAUfu-AAARYJG8XLo001.png
http://s2.运维网.com/wyfs02/M01/89/F6/wKioL1gi6B2wYmHRAABhUltdX-I464.png
&是获取值的地址
http://s2.运维网.com/wyfs02/M02/89/FA/wKiom1gi6DHAGXZuAABertL7xOs113.png
http://s1.运维网.com/wyfs02/M02/89/F6/wKioL1gi6ESjY_NYAABzgzvGMEQ743.png
1.6.3 销毁变量
通过unset()来销毁变量。unset()销毁的是变量名。值是由PHP的垃圾回收机制销毁。
http://s2.运维网.com/wyfs02/M00/89/F6/wKioL1gi6FnBhusNAAArL6xJtzY142.png
http://s3.运维网.com/wyfs02/M01/89/FA/wKiom1gi6GuAXNQXAAATFoeDIGg761.png
1.6.4 可变变量
http://s2.运维网.com/wyfs02/M01/89/F6/wKioL1gi6H7iQ3mBAAAee1eUxNU357.png
$b保存的是变量名a,所以$$b就是$a,最后输出$a的值。
1.7 常量
当一个值在脚本执行周期内不发生变化,就可以将值声明成常量.
用define()关键字
语法:
Define(常量名,值,是否区别大小写)
常量名不能有$开头
http://s3.运维网.com/wyfs02/M02/89/FA/wKiom1gi6JTySiBKAAAT6DShL6s640.png
默认情况下,常量名是区分大小写,可以通过define的第三个参数来设置是否区分大小写
True:不区分FALSE :区分。
http://s4.运维网.com/wyfs02/M02/89/F6/wKioL1gi6KjDSLAjAAARSUYorqU525.png
常量不能重复定义。
http://s3.运维网.com/wyfs02/M01/89/FA/wKiom1gi6MPhDn6EAAAhAFSIJvQ035.png
在定义常量的时候先判断一下当前常量是否被定义,defined()函数判断
http://s2.运维网.com/wyfs02/M02/89/F6/wKioL1gi6NXCq12TAAAjC_FH8MA135.png
1.8 PHP执行原理
客户端向服务器发送一个请求,如果请求的是一个HTML页面,服务器直接将HTML页面发送到客户端给浏览器解析,如果请求的是PHP页面,则服务器会运行PHP页面然后生成标准的HTML,将生成的HTML代码发送到客户端。
http://s4.运维网.com/wyfs02/M02/89/FA/wKiom1gi6O-BclLAAABuOwWpU3Y993.png
1.9 变量的数据类型
1.9.1 标量类型
类型
描述
整数型
范围 -231~231-1
浮点数
存放整数和小数
布尔型
True和FALSE
字符串型
双引号字符串和单引号字符串
http://s3.运维网.com/wyfs02/M00/89/F7/wKioL1gi6QLR3lu8AAAU2DTjGEU253.png
1.9.2 复合类型
类型
描述
数组
array
对象
object(以后再学)
http://s1.运维网.com/wyfs02/M01/89/F7/wKioL1gi6RPBsb5EAAAKCdUtTOM525.png
1.9.3 特殊类型
http://s5.运维网.com/wyfs02/M01/89/F7/wKioL1gi6SiwRfKDAAAHpSQTF44662.png
资源:PHP 的外部数据成为资源类型。
NULL:没有
1.10 字符串
单引号字符串是真正的字符串,双引号字符串要将变量给替换。因为单引号字符串不需要运算,所以单引号字符串执行效率高。
http://s3.运维网.com/wyfs02/M00/89/F7/wKioL1gi6UCDtIFMAAA3pfioxJA100.png
思考:
如下代码输出什么内容?
http://s2.运维网.com/wyfs02/M02/89/F7/wKioL1gi6VKAGKRSAAAxjVy-cGc573.png
变量如果在字符串的前面或中间,要用{}括起来。
{和$要紧挨着
http://s1.运维网.com/wyfs02/M01/89/FA/wKiom1gi6WqywGw-AAAHcBqZc7o611.png
{和$可以调换位置
http://s3.运维网.com/wyfs02/M02/89/F7/wKioL1gi6XyQaTOKAAAJsKoc6jw784.png
1.11 数组
1.11.1 数组的概念
思考:
一个变量存一个值,现在我们班有100个学生,要100个变量来保存学生姓名,这样不便于记忆,如何解决?
解决方法:数组。
数组:计算机内存中的一段连续空间,通过下标来区分数组。
http://s1.运维网.com/wyfs02/M00/89/FA/wKiom1gi6ivRBUJ4AAAG9acOVyw986.png
1.11.2 数组的分类:
索引数组:通过元素的位置做下标,默认从0开始,每次增长1,可以更改数组的起始下标。
http://s5.运维网.com/wyfs02/M00/89/F7/wKioL1gi6aWS4BLdAAAagfH683Y796.png
关联数组:通过字符串做下标
http://s2.运维网.com/wyfs02/M01/89/F7/wKioL1gi6bXyA6g0AAAiEKxeSzg236.png
数组的下标我们可以成为键,下标和对应的值成为“键值对”。
思考:1、请写出数组的下标
$stu=array(1=>'a','b','c','d');
http://s4.运维网.com/wyfs02/M00/89/F7/wKioL1gi6eHxP2u_AAAIK7l_dSU129.png
思考:2、请写出数组的下标
$stu=array('a',2=>'b','c',5=>'d');
http://s2.运维网.com/wyfs02/M01/89/F7/wKioL1gi6evB0GHbAAAIxJZsSqA879.png
思考:3、请写出数组的下标
$stu=array(1=>'a',1=>'b',1=>'c','d');
http://s5.运维网.com/wyfs02/M02/89/F7/wKioL1gi6fXjtjVHAAAF9v001v8368.png
1.12 输出语句
1.12.1 echo
只能输出数字、字符串
对于布尔型,TRUE输出成1, FALSE输出空
可以一次输出多个参数。echo没有返回值
1.12.2 print
和echo语句很类型,
一次只能输出一个参数
输出成功会返回1,失败返回0
1.12.3 print_r();
用来输出数组,输出的内热包括键和值,不包括数据类型
1.12.4 var_dump()
如果输出普通变量,输出的是变量的值和变量的类型。
如果输出的数组,包括键、值、值的数据类型。
1.13 PHP注释
单行注释:
//单行注释
#单行注释
多行注释:
/*
多行注释
*/
1.14 运算符
1.14.1 算数运算符
一元运算符
二元运算符
负号
+
++递增1
-
--递减1
*
/
%
注意:
1、+号在js中可以做数字的相加,也可以做字符串相加(字符串相连),在PHP中,+只能做数字运算
思考:下列表达式结果是什么
结果:30
结果:30
结果:0
2、取模就是取余数
5%2=1
10%2=0
2%5=2
4%10=4
3、++前置和++后缀
++前置:先自增,后运算
++后置:先运算,后自增
思考:如下代码输出什么?
//输出5
//输出6
//输出21
1.14.2 比较运算符
运算符
描述
>
大于
>=
大于等于
页:
[1]