首先先下载一个WAMP集成环境还有编辑器(你有就不用啦),环境必须显示绿色,红色和黄色都没安装成功 本身百度一下
我要是写了(了解)的话就是不太经常使用的php
什么是PHP?
a.超文本(html)预处理器(动态生成html)
B.服务器端脚本编程语言
C.解释型语言
D.能够嵌入到html中的一种脚本语言(能够与html进行混编)
注意安装的php是解析php代码的引擎html
php标记
写php开头标识必需要有的
第一种:<?Php 纯php文件 推荐(经常使用)
第二种:<?Php.....?> 混编文件(指的是假如后面有html代码就用这个)
第三种:<%....%> asp风格标记
asp_tags = On 在php配置文件开启
第四种:<?....?> 短风格标记
Short_open_tag = On 在php配置文件开启
第五种:<script language=”php”></script>
前2个是最经常使用的数据库
PHP指令分割符(分号);
1.每条语句结束必须使用分号结束;
2.最后一条语句若是是<?php...?>能够加分号也能够不加.(要求都加)
3.echo 语言结构 做用:将内容给浏览器
echo是输出结果在浏览器显示
echo "MDZZ"; //正确的
echo "MDZZ" //错误的没有加分割符
分隔符的做用是这段代码不受下一行代码的影响
好比:
echo "11111"; echo '2222'; (正确的)
echo "11111" echo '2222'; (错误的) 编程
常常用到的两种打印方式
单纯的打印值(不能打印类型) echo
打印值和类型好比数组对象 var_dump()数组
PHP注释
单行注释 // #
多行注释 /*....*/
注释做用:
解释说明 便于之后调试代码
有利于团队合做开发 有利于后期维护和扩展
多行注释不能嵌套多行 多行注释能够嵌套单行浏览器
PHP变量
临时存储值的空间
变量是否区分大小写?
变量严格区分大小写 $a $A安全
1.如何定义一个变量?
a.变量命名的规则
1.必须以$符开头
2.由数字[0-9] 字母[a-z A-Z] 下划线(_)组成
3.命名不能以数字开头
4.命名必定要有意义服务器
什么是表达式?
任何有值的变量 $a = 1;
php是弱类型语言(变量的类型是由存储的值决定的)编程语言
php变量的类型
八种变量类型
1.四种标量
整型(int) 浮点型(float) 布尔型(boolean) 字符串型(string)
2.两种复合类型
数组(array) 对象(object)
3.两种特殊类型
资源(resource) 空null()编辑器
A.整型int:
(1)会声明十进制数、八进制数、十六 进制数
(2)声明八进制(0-7) 以0开头 后面跟0-7
(3)声明十六进制 以0x开头 后面跟(0-9a-f)范围
(4)整型的存储范围:占4字节 1字节=8位 32位(二进制
(5)若是超出的存储范围 会自动转成浮点型
(6)浏览器中看到的都是十进制数
(7)扩展(二进制转成十进制)
(8)第一位 是符号位 +0(正) -1(负) 31位
(9)二进制 与 十进制之间的转换
(10)二的次幂 1的位置的数相加便可
B. 浮点型float:
(1)小数 科学技术法
(2)永远不要用浮点数来作比较
(3)$c = 1e5; //1 * 10的5次方
C.布尔型boolean
(1)两个值: true真 false假
(2)用于判断
(3)先进行表达式判断
若是为真则执行真区间
不然执行假区间
(4)流程控制中的条件
if(表达式){表达式 结果 布尔值
真区间}else{假区间}
3.总结假状况 其他全为真
(1)整型int 0
(2)浮点型float 0.0
(3)布尔型boolean false
(4)字符型string '' '0'
(5)数组 空数组 array()
(6)Null(空) null a.未定义的变量 b.直接赋值为Null c.使用unset(变量名称)释放的变量
(7)对象object a.对象都为真 b.php4空对象为假
(8)资源 resource 都为真
1.布尔值 true false 在参与运算返回的结果只有真和假.
2.字符串 看第一个字符 若是是字母直接返回0
若是是数字会继续找 直到碰到非数字中止 返回非数字前面的部分
若是是字母e会再找一位若是是数字 则进行科学技术法 若是不是则返回e前面的部分
3.null -- 0
4.echo true 1 echo false echo null
D.字符串型 string
单引号 ‘’ 双引号 “”
1.对变量的解析
a.在括号里面:单引号不解析变量 双引号解析变量
$c = ('$a+$b');
echo $a
2.对转义字符的支持
a.单引号只支持 \’ \\
b.双引号支持全部转义字符(见手册)
c.单引号中使用单引号 双引号中使用双引号须要转义
d.单双引号能够互相嵌套使用
3.效率(功能越强 效率越低)
a.单引号效率高于双引号
F.定界符方式(建议大篇幅的文章): (了解)
1.不一样:既可使用单引号也可使用双引号
2.不加单引号同双引号的特色
3.加单引号同单引号特色
4.以<<<开头 后面跟标识符名称 通常建议大写 独占一行
内容
结束时与开始标识符名称相同加分号 后面什么都不容许(空白)独占一行
格式:
$str = <<<EOF
正文内容
EOF;
特色同单引号
$str = <<<’EOF’
正文内容
EOF;
可变变量
以一个变量的值 做为另外一个变量的名称(变量的值符合变量命名规则)
$$$a 从右往左读 一个$一个$符去读
引用赋值
使用&符号进行引用
特色:
一旦使用&两个变量互为别名(就是一我的两个名字)
改变其中任何一个另外一个也会随着改变
若是unset()销毁其中任何一个 另外一个不变
类型转换(了解)
A.自动类型转换(隐式类型转换)
强制类型转换(在须要的时候才使用)
.(int), (integer) - 转换为整形 integer
.(bool), (boolean) - 转换为布尔类型 boolean
.(float), (double), (real) - 转换为浮点型 float
.(string) - 转换为字符串 string
.(array) - 转换为数组 array
.(object) - 转换为对象 object
.(unset) - 转换为 NULL (PHP 5)
PHP常量定义
A.如何定义常量?
使用:define(常量名称,常量的值,是否区分大小写 默认是
false区分);
格式:
define(‘常量名称’,’常量值’,false(默认);
echo 常量名称;
php5.以上可使用const关键字来定义常量其它特色相同
格式: const 常量名称 = 常量值;
echo 常量名称;
B.如何输出常量:echo 常量名称
1.常量名称:建议大写 必须不能以$符开头 由数字、字母、下划线组成 数字不能开头
2.常量值:标量(int+float+string+boolean)
3.若是设置为true 不区分大小写
C.常量特色
不常常变化的量,存储为常量 如:主机名称 端口
一旦定义 不能从新定义 或 销毁
定义后能够在任何位置使用(函数才能测试)
D.系统也提供一些常量(知道就好)
PHP_VERSION php版本
PHP_OS php当前所在系统
echo PHP_VERSION;
E.获取全部已定义的常量
格式:echo '<pre>';
print_r(get_defined_constants());
echo '</pre>';
F.魔术常量(了解)
__LINE__ 获取当前的行号
__FILE__ 获取当前文件所在的位置(路径)完整路径
__DIR__ 获取当前文件全部的目录 没有文件名
运算符
A.算术运算符
+ - * / %(取模/求余) ++ –-
++ 递增 加1 (前加 后加)
-- 递减 减1
B.字符串运算符
(.)
链接字符串与字符串 变量与变量 变量与字符串
$username = 'jiwei';
echo '正文内容'.变量名称.;
C.赋值运算符
= += -= *= /= %= .=
//累加求和 +=
格式:$shop1 = 10;
$sum = 0;
$sum += $shop1; //$sum = $sum + $shop1
echo $sum;
//字符串拼接 .=
格式:$str = '';
$str .= 'a'; //$str = $str . 'a';
$str .= 'b';
$str .= 'c';
echo $str;
D.比较运算符
返回真假 符合符号就为真 不符合符号就是假
比较结果 布尔值 true false
赋值符号 从右到左
> < >= <= <>!=(不等于) !==(全不等于)
==(等于) ===(全等于)
格式:$a = 1;
$b = '1';
var_dump($a !== $b);//false
!=(建议使用)值不相等(等于为假 其他为真)
!== 值和类型都不相同(全等于为假 其他为真)
==值是否相等(等于为真 其他为假)
===值和类型都相同(全等于为真 其他为假)
E.逻辑运算符 返回真假值
返回布尔值 true false
逻辑与:and && 逻辑或 or || 逻辑非 ! 异或:xor 其中逻辑与和逻辑或都具备短路效果。(短路与和短路或)
1.逻辑与(而且2个真) &&(推荐使用) 和 and
结论:2个真才真 一个假就假
(用于条件筛选)
短路状况:当第一个表达式为假 则不执行第二个表达式
&& 与 and区别:&& 优先级 大于 and
()加小括号能够解决优先级问题
格式:var_dump(true && true); //true
var_dump(false && true); //false
2.逻辑或(或者一个真) || 和 or
2个假才假 一真就真
短路状况:当第一个表达式为true 则不执行第二个表达式
||与and区别:|| 优先级 大于 or
()加小括号能够解决优先级问题
格式:var_dump(true || false); //true
var_dump(false || false); //false
3.逻辑非 ! (取反符号)
先去判断表达式自己 再进行取反
true---false false---true
格式:$a = 1;
var_dump(!$a);
$a = false;
var_dump(!$a);
4.逻辑异或 xor
不一样为真 相同为假
格式: var_dump(true xor false); //true
var_dump(true xor true); //false
var_dump(false xor false); //false
其它运算符
F.三元(目)运算符
先执行表达式1 进行判断 若是为真 则返回表达式2的值 不然返回表达式3的值
表达式1 ? 表达式2 : 表达式3
格式:$sex = 1;
var_dump(($sex == 0) ? '女' : '男'); //男
G.错误抑制符@
若是本行有错误 则不报错 只在特殊状况下用
格式: a();
@a();
H.命令执行符``
能够输出系统命令
格式: var_dump(`ipconfig`);
I.位(二进制)运算符
位(二进制) 与 & 位与 计算出一个结果 没有短路
位与& 位或| 位异或^ 位取反~ 左移 << 右移 >>
html表单中GET与POST提交方法有何区别?
1.get传值能够在URL地址中看到提交的数据的具体信息(不安全),post看不到(安全)
2.get传送的数据量较小,不能大于2KB;post传送的数据量较大,通常均可以知足咱们的需求
数组
很好理解就像是有一大衣柜有不少格子,格子号码对应箱子里面的东西(号码理解为下标,箱子里面的东西理解为值)
array(1->电脑,2->手机,3->小黄碟);
数组是复合数据,能够装下多个值,每一个值用不一样的键来区分.
数组分类 索引数组和关联数组
按下标来分
下标都为整型称为 索引数组 键没必要有特殊意义,纯数字
下标都为字符串型 称为 关联数组 字符串作键,通常能体现该单元的内容,如age->年龄
按维度来分 (数组元素的值)
一维数组:数组的值再也不是数组
$arr = array('id'=>5);
二维数组:数组的值是一维数组
$arr = array(
1=>array(
'id' => 5
);
多维数组:数组的值超过一维 >1 (>=2)(了解)
"user"=>array(
array(1,"zhangsan",20,"nan")
),"score"=>array(
array(1,100,98,95,96),
);
数组应用的地方:
收集表单数据 数据库中的数据 批量处理数据
输出数组元素的值 找下标 echo 数组名称[下标]; $aa =array('id'=>5,'age'=>'年龄'); echo $aa['id'];