PHP笔记
(一)
静态网站与动态网站
1.静态网站:纯HTML页面,页面固定不会变化,没有与后台服务器的交互,没有数据库的支持
2.动态网站:可以根据交互情况动态显示不同的内容,需要与后台服务器进行数据交互,需要数据库的支持
支持动态网站的语言
JAVA 后缀名JSP
PHP 后缀名PHP
ASP 后缀名ASP
.NET
常见的服务器
Apache:阿帕奇公司旗下服务器,用于解析PHP类网站 端口号80
Tomcat:阿帕奇公司旗下另一款服务器,用于解析JSP类的网站端口号8080
常见的数据库
mySQL, access,oracle,SQLServer......PHP一般配合mySQL。当然PHP几乎可以连接所有主流数据库
【B/S C/S】
B/S 浏览器/服务器结构,用户只需要通过浏览器即可访问的网站。大部分操作功能集中在后台服务器
C/S 客户端/服务器结构,用户需要安装客户端使用的程序。客户端可以分担一定的操作功能
常见的开发PHP集成环境
安装一个软件,内置多种开发需要的软件或语言环境
wamp :windows+Apache+mySQL+PHP
lamr :linux+Apache+mySQL+PHP
PHPstudy:
APPServer:
PHP开发首选linux系统,但是PHP能友好的兼容支持各种操作系统(MacOS,Unix,Linux,Windows)
设置PHP文件的编码格式
header("Content-Type:text/html;charset=utf-8");
PHP输出语句
echo "李hello PHP";
(二)
PHP标记的种类
php文件中如果要使用PHP语法必须要将PHP语言放到标记当中。
php支持如下四种标记方式
①<?php ?>这是php官方推荐的写法 样式我们主要的写法。这种标签可以插入到Html文档的任意位置
如果页面中只有php语言,推荐省略结束符?> 原因如果包含结束符,在导入PHP文件时,会将文件最后多余的换行导入
②<script language="php"></script>长标记写法,总是可以使用。但不推荐
③<? ?>短标记风格。默认不开启,需要修改php.ini文件中short_open_tag=On
但是由于和XML中的标记冲突,不推荐使用
④<% %>ASP风格,默认不开启,需要修改php.ini文件中asp_tags=On.由于与JSP/asp标记冲突,不推荐
PHP中的指令分隔符
php中的结构定义语句(分支、循环、类、函数等{}结尾的)不需要使用分号结尾。
php中的功能执行语句,必须使用分号结尾
特例:最后结束标签?>前的最后一条语句,可以省略分号
php中的变量
①php中的变量声明与使用必须使用$开头
②php是一种弱类型语言,变量其实并不需要声明,可以直接给变量赋任何类型的值
③php 中可以使用连等同时给多个变量赋值 $num1 = $num2 = 4;
④ 常用变量函数
unset();删除并释放变量 isset();检测变量是否设置 empty();检测变量是否为空未设置或为null都为空
⑤只能有字母数字下划线组成,开头不能为数字。而且php中变量区分大小写。但是php内置函数或类名不区分大小写echo
php中的输出语句
echo "";输出变量的值
var_dump();输出变量的数据类型&值[&一些其他信息]
print_r(arr)专门用于打印数组
php中的数据类型
分为四种标量类型:boolean型 整型integer 浮点型float/double 字符串string
两种复合类型 数组array 对象object
两种特殊类型:资源resource NUll
php中false情况
1.boolean false
2.整形 0为false
3.浮点型 0.0为false
4.字符串型 "" "0"为false ("0.0"为true)
5.空数组为false
6.空对象 仅在php4为false 其他版本对象都为true
7.null和尚未定义的变量都算错 所有资源都为true
整型的范围
-2^32到2^32-1 超过范围自动转为浮点型
PHP中字符串的声明
php中支持三种方式声明字符串
①单引号声明''
②双引号声明""
③<<<(定界符声明):写法 $str=<<<str(定界标识符)
定界符声明字符串,通过<<<str(定界标识符)开始
到顶格的定界标识符结束。可以使任何变量,前后一致即可
str;(顶格定界标识符)
④三种声明方式的区别:
a.定界符功能默认与双引号相同。(但是定界符中能放双引号)
b.单引号中不能解析变量,而双引号、定界符都可以解析变量。
注:双引号解析变量时,变量名后须用空格与其他字符分隔,或用{}将变量包裹起来
"haha{$num}hisdfa"或"hah${num}jkad"
c.单引号中可以放双引号,双引号中可以放单引号。但是不能放与自身相同的引号
d.单引号不能使用转义字符(除了单引号''本身与转义符\本身),双引号中可以使用转义字符。
PHP 中的伪类型
伪类型:并不是一种真实存在的类型。仅仅是告诉成员可以使哪些类型,写帮助文档使用
①mixed 代表参数可以是多种不同数据类型,;
②Number 可以使integer或float
③callback 参数可以是个回调函数
数据类型转换
1.自动类型转换:表示运算的时候boolean null string等类型会先自动转为int或float类型
null转为0 false转为0 true转为1 string转非数值字符前的数字,没有的话转为零
2.强制类型转换:根据我们的需要,强制将变量转为其他类型的变量
①使用小括号声明新类型强转
$新变量=(新类型)$原变量 $num=1;$str=(String)$num;
新类型可以使用全拼,也可使用缩写 integer/int bool/Boolean
可以强制转换的类型如下
(int),(integer) - 转换成整型
(bool),(boolean) - 转换成布尔型
(float),(double),(real) - 转换成浮点型
(string) - 转换成字符串
(array) - 转换成数组
(object) - 转换成对象
②使用settype()函数强转
bool setType(mixed var,String type);第一个参数可以是任何类型的变量
第二个参数表示数据类型,写为字符串类型,返回boolean型
③两种转换的区别:
第一种,是将转换后的结果赋给新变量
第二种直接修改了原变量的数据类型
[php中判断]
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():判断是否是有效的函数名
PHP中的常量
1.常量的定义:bool define(String 常量名,mixed value常量值[,bool是否区别大小写]);
2.常量的注意事项
①定义只能使用define()函数
②常量名原则上要求必须使用大写声明。而且不能带$符($只能是变量)
③常量声明以后,默认全局范围有效,没有作用域一说
④常量不能改,不能删。unset等函数无效
⑤常量默认区分大小写,但可以在声明常量时将define第三个参数设为true,可改为不区分大小写
⑥常量必须使用define定义之后才能使用
如果使用未声明常量,默认转为常量字符串。但会警告。
var_dump(NUM); -->String "NUM"
⑦常量的值只能是标量 bool string float integer
3.可已使用constant("")读取常量值
可以使用get_defined_constants()获取所有已定义常量