您的位置:首页 > 编程语言 > PHP开发

PHP基础教程

2017-03-10 00:00 134 查看
首先先下载一个WAMP集成环境还有编辑器(你有就不用啦),环境必须显示绿色,红色和黄色都没安装成功 自己百度一下
我要是写了(了解)的话就是不太常用的

什么是PHP?
a.超文本(html)预处理器(动态生成html)
B.服务器端脚本编程语言
C.解释型语言
D.可以嵌入到html中的一种脚本语言(可以与html进行混编)
注意安装的php是解析php代码的引擎

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'];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: