码迷,mamicode.com
首页 > Web开发 > 详细

PHP

时间:2017-11-08 22:27:27      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:php

   PHP

一、了解PHP

1. PHP 超文本预处理器  服务器端的脚本语言 是一种被广泛应用的多用途脚本语言  他可以嵌入到html中 尤其适用WEB开发

2. phpweb中的应用

服务器端的 嵌入到html中  脚本语言

wamp服务器软件适用 绿色代表所有内容可以使用 红色代表 所有内容不可以使用  橘黄色 代表部分内容可以使用

3. PHP 能做什么

 收集表单数据

 生成动态页面

字符串处理

 处理服务器端文件系统

 编写数据库支持页面

会话控制

服务器端的相关操作

4. 为什么要用PHP

a) php运行在各种平台上(windows,linux,mac,uninx)等等

b) PHP兼容几乎所有的web服务器(apache iis..)

c) PHP 支持多种数据库

d) PHP是免费 php是开源软件 请各位从官方网站下载我们要使用的内容 www.php.net

e) PHP易于学习  并且高效的运行在服务器端

5. php主要应用的领域

服务器端脚本

命令行脚本

二、PHP内容

1. 第一个PHP脚本程序(重点)

a) php文件必须以.php为后缀,或者apacheweb服务器的其他后缀名

b) php文件必须防止在服务器根目录下才能运行 比如www目录或者htdocs目录

如果你能找到wamp安装目录就可以找到www目录

找到wamp服务点击左键->www directory

c) 根目录下的文件与文件夹都不能使用中文命名

d) 不能直接在本地打开 如果你要是在浏览器上直接打开而且出现了php代码 让当地老师看见 请将你的地址栏上的地址抄写一百遍  必须通过浏览器来访问php文件(localhost或者127.0.0.1)

2. php标记语言 (重点)

php文件中的代码 需要放置在这对标记中运行<?php 内容 ?>

3. php代码嵌入html中的位置

html文档中可以嵌套多个<?php ?> 开始和结束标记

在任意位置进行嵌套

url传值  a标签传值 使用的传输方式是 get方式

4. PHP 开始 和结束标记

标准风格<?php   ?>(重点重点重点)

asp风格 <% %>(了解 php5.4 以前可以使用 php7没有了)

短风格 <?   ?> 需要使用php.ini配置文件修改之后使用 将short_open_tag = Off改为on(了解)

推荐使用标准风格开始和结束标记

5. 命令执行符 ;(重点)

PHP 语法中只要带({})(流程控制语句  定义函数  定义类 )就部分不需要加分号 没有{}都需要加分号

离结束标记最近的一个不需要分号 因为结束标记隐含了一个表示的分号

但是各位有一个要求 如果全篇都是php代码 请将最后的php结束标记省略防止出现不写分号

6. 程序的注释

 html  <!-- -->

css    /*   */

// 单行注释  C++风格

#  单行注释 shell脚本注释  

/**/ 多行注释

多行注释里面不能嵌套多行注释

多行注释里面可以嵌套单行注释

注释都是给php程序员看的

7. 在程序中的空白处理

空格和回车都是用来排版的 让你的代码提高可读性

 

三、php 基础语法

a) 变量

 变量就是可变的量  我们可以把它看成一个容器  之所以叫做变量 是因为 一旦变量被声明后 在整个脚本中都可以动态的改变变量的值

b) 变量的命名(全名)规则(重点重点重点重点)

1. $开头

2. 由字母数字下划线组成  但是不能以数字开头

3. 可以使用中文  但是不推荐使用

4. 变量名严格区分大小写

5. 变量名定义要起到见名知意的作用

6. 变量使用前必须先声明后使用

c) 变量的相关函数(重点重点)

//echo  用来打印字符串或者打印变量(不能打印数组) 打印普通变量输出值的时候使用

//print_r  打印变量信息 (一般用来打印数组) 打印数组输出值的时候使用

//var_dump 打印变量的相关信息(打印出所有信息)(照妖镜  什么类型一照就出来了!) 打印要求输出所有信息的时候使用

 

isset 检测一个变量是否被声明  如果声明返回 真(true)  否则返回假(false

unset 释放变量  删除变量 释放之后的变量相当于没有被声明过的变量

d)  可变变量(重点重点)

$a = ‘hello‘;

echo $a;

echo ‘<hr/>‘;

$hello = ‘world‘;

echo $hello;

echo ‘<hr/>‘;

echo $$a; // world

 

e) 变量的引用赋值

引用赋值: 在将要赋值的变量上加上&

如果&有了 两个变量就是一个值  任意改变其中一个变量的值  另外一个也随着改变

变量的赋值总是开辟新的内存空间

引用赋值 内存不重新开辟新空间


 

四、 变量的数据类型

1. 类型(非常重要 ) 变量八种数据类型

标量类型: 布尔型  整型  浮点型  字符串

复合类型: 数组    对象

特殊类型: 资源    null

2. 布尔型 boolean(重点重点重点)

 true   false

//使用echo打印变量值为true的变量得到是1

echo $a;

echo ‘<hr/>‘;

//因为使用echo打印变量值为false的是什么都没有 而不是我们想象中的0

echo $b;

 以下值认为是false  其他值都认为是true;

 布尔值 false

 整型值 0

浮点数0

空字符串和字符串 0

空数组

空对象(适用于php4)

特殊类型 null

3. 整型(重点)

 正整数  负整数 0

整型的最大值  相对于32位操作系统 我们的最大值 2147483647

整型的最小值  相对于32位操作系统 我们的最小值 -2147483647

可以使用 十进制 八进制 十六进制 二进制来表示整型

整型的值不能超过最大值最小值 如果超过了 将会被解析为float

整型中如果转换为布尔型 0 以外的所有值都会被转换为true

4. 浮点型(float)(重点)

 就是小数

科学计数法 1.0E7

浮点数表示为数的最大值为1.7E308   最小值为-1.7E308

超出范围出现INF 无穷大

5. 字符串(重点重点重点)

字符串 就是用单引号和双引号和定界符 包含的字符就是字符串

字符串 没有长度限制

单引号:

1. 单引号不解析变量 效率高 推荐使用

2. 单引号里面不能包含单引号 如果需要显示的单引号需要加上转义字符(\)

3. 单引号中如果使用转义字符串 但是只能转义单引号和转义字符本身

4. 单引号中如果试图使用特殊字符  反斜线会被显示出来

双引号:

1. 双引号可以解析变量

2. 双引号如果解析变量 请在变量后面加上空格或者{}

3. 双引号里面不能包含双引号  如果需要显示双引号 需要加上转义字符(\)

4. 双引号中如果使用转义字符串 但是只能转义双引号和转义字符本身

5. 双引号可以解析特殊字符

6. 双引号可以插入单引号 单引号中可以插入双引号(可以互插)

7. 但是双引号中不能插入双引号 单引号中不能插入单引号(不能自插)

定界符

<<<

声明方式: 在定界符后面给一个标识符开始 然后以这个标识符结束

<<<aaa

aaa;

在定界符的结束标识必须写在第一列上 而且必须作为一个单行  后面不能有任意字符

开始标识后面不能出现任何内容包括空格等不可见字符

标识符命名规则 必须遵循php的命名规则  只能包含 数字 字母 下划线  不能以数字开头

定界符的作用和双引号一样

常用于文本和大段落数据输出文档使用

 

 

6. 数组(暂时为了解内容)

 数组就是 一组数的集合

 array来声明数组

根据下标区分

关联数组

索引数组

混合数组

根据维度来区分

一维数组

二维数组

多维数组

7. 对象(暂时了解内容)后面7天 天天在玩对象

对象

万事万物皆对象

8. 资源类型

 电脑中存放的都是资源

资源类型通常是通过php函数打开一个文件或者图片 或者数据库连接(php5.4以前是连接资源 php5.4以后就是连接对象)等产生

 

9. null

浮云的意思  神马都是浮云

null  不区分大小写NULL

下列情况被认为是null

  将变量直接赋值 null

声明变量尚未被赋值

unset函数销毁的数值

isset() 检测变量是否被声明  如果声明返回 true 否则返回false 特殊如果变量被赋值为null那么返回是false

 

empty() 判断变量值是否为 空 零 假 null 如果是返回true 否则返回false

 

PHP03

一、判断类型(重点)

is_bool() 判断是否是布尔型

is_int() 判断是否是整型

is_float() is_real() 判断是否是浮点型

is_string() 判断是否是字符串

is_array()  判断是否是数组

is_object() 判断是否是对象

is_resource() 判断是否是资源

is_null()      判断是否是null

is_scalar()    判断是否是标量

is_numeric() 判断是否是任何类型的数字或数字字符串

is_callable()    判断是否是有效的函数名

二、类型转换

1. 自动类型转换(php是弱类型语言)

 四种标量通过运算的时候会自动转换

只有标量和null才是用自动类型转换  一般是在运算的时候

布尔型参与运算 true->1  false->0

null 参与运算 null ->0

integer float运算 把 integer转换为float在运算

字符串和数字运算,字符串先转换为数字 在参与运算

字符串转换为数字  从前开始到第一个不是数字的字符结束(不符合的内容清空)

整型转换为浮点数 精度不改变

浮点数转换为整型舍去小数点 保留整数部分 如果浮点数超出整数范围  答案就是不确定

null  值 转换为字符串是空字符串

2. 强制类型转换

 两种方式

  1. 使用括号加目标类型进行转换

(类型名)变量(重点重点重点)

(int)(integer)

(bool)(boolean)

(float)(real)

(string)

(array)

(object)

2. 使用类型转换函数

settype() 永久转换类型的函数(重要重要)

第一个参数 你要改变类型的变量

第二个参数  你要改变的类型名

intval() 转换为整型  当次有效

floatval 转换为浮点型 当次有效

strval   转换为字符串  当次有效

 

三、常量(重点重点重点)

常量  用来表示程序中一些需要经常用到的固定的值

如何定义常量 和使用常量

定义常量的格式

//define(‘常量名‘,‘常量值‘,false)// false 常量名区分大小写

//define(‘常量名‘,‘常量值‘,true) // true  不区分大小写 (不推荐使用)

声明常量的方式

const 常量名= 常量值

常量名规范

1. 常量名不能以$开头

2. 常量名 以数字字母下划线组成  不能以数字开头

3. 常量名 可以使用中文 但是 不推荐使用

4. 常量一旦定义不能取消 不能重新定义

5. 常量全局有效

6. 推荐常量名使用大写字母

使用常量

echo  常量名;

用来检测常量的函数

  defined() 用来检测常量是否被声明 被声明的常量返回true  否则返回false 括号中一定要有引号 面试题原题

作用: 在程序中定义哪些不变的量 比如 连接数据库 用于配置文件

 

四、 系统常量(了解)

  PHP_OS   php运行系统名称

  PHP_VERSION  php 版本号

以上两个是区分大小写

TRUE  

FALSE  

NULL   null

他们是不区分大小写

五、 魔术常量(重点重点重点)

i. __FILE__  返回当前文件全路径包含文件名

ii. __LINE__ 返回当前行数

运算符

一、什么是运算符(重点重点重点)

运算符是可以通过给出一个或多个值(用编程的语言来说叫做表达式) 来产生另一个值(因而整个结果成为一个表达式)的东西

二、运算符类型

i. 一元运算符 就是有一个数参与运算的运算符就是一元运算符 例如: $a++, $b--,!$a......

ii. 二元运算符: 就是有两个数参与运算的运算符就是二元运算符 例如:$a>$b,$a&& $b ,$a||$b....

iii. 三元运算符 $a?$b :$c

三、运算符功能分类(重点重点重点)

1. 算术运算符

 +  -   *  /  % ++ --

//前加加(++$a) 先运算后赋值     后加加($a++) 先赋值后运算

//前减减(--$a) 先运算后赋值     后减减($a--) 先赋值后运算

 

2. 连接运算符(字符串运算符)

 神奇的米粒 (.)

1. 字符串和字符串连接时候需要使用

2. 字符串和变量连接时候需要使用

3. 变量和字符串连接时候需要使用

4. 变量和变量连接时候需要使用

 

3. 赋值运算符

=  将一个值或者表达式的结果赋值给变量

+=  将变量与所赋的值相加后的结果赋给变量

-=  将变量与所赋的值相减后的结果赋值给变量

*=  将变量与所赋的值相乘后的结果赋值给变量

/=  将变量与所赋的值相除后的结果赋值给变量

%= 将变量与所赋的值求模后的结果赋值给变量

.=  将变量与所赋的值连接后的结果赋值给变量

4. 比较运算符

>  大于    当左边大于右边的时候返回true 否则返回false

<  小于     当左边小于右边的时候返回true  否则返回false

>=  大于等于  当左边大于等于右边的时候返回true 否则返回false

<=  小于等于  当左边小于等于右边的时候返回true 否则返回false

==  等于  两边操作数的值相等的时候返回true 否则返回false

===  全等于  两边值相等并且类型也相等返回true 否则返回false

! = 或者<> 不等于  两边的值不相等的时候返回true 否则返回false

!== 非全等于    两边的值与类型相同的时候返回false 否则返回true

5. 逻辑运算符

1. && 或者(and)   逻辑与 判断条件  一边为假 即为假(洗脸)

2. || 或者(or)      逻辑或 判断条件 一边为真  即为真(丢钱包)

3.               逻辑非  判断条件  真变假  假变真(去泰国)

4.  xor             逻辑抑或  判断条件  相同为假 不同为真(生小孩)

6. 短路(逻辑运算符)

//逻辑运算逻辑与     一边为假   即为假

//逻辑运算逻辑或      一边为真  即为真

 

//出现短路

//逻辑与出现短路    左边为假   会短路

//逻辑或出现短路    左边为真   会短路

7. 其他运算符

? :   三元运算符  可以提供简单的逻辑判断

判断条件 真区间 : 假区间;

` `    反引号(``)是执行运算符 php将尝试将反引号里面的内容作为外部命令来执行 并且将其输出里面的内容

@ 错误控制运算符  ,将其放置在php表达式前面 用来控制可能产生的任何错误 可以忽略的错误信息

=> 数组下标指定符 通过此符号指定数组的下标和值

(下面内容了解即可)

->     对象成员访问符  访问对象中的成员属性和成员方法

instanceof  类型运算符 用来测试一个对象是否来自指定的对象类

 

8. 优先级



流程控制

  一、流程控制

 1. 顺序结构

 // 自上而下  从左到右

 2. 条件分支结构(重点重点重点)

   a. 单向分支结构

if()  只能管理一条指令

if(){} 只能管理花括号里面的所有代码

if(): endif;  替换语法 模版模式

 b. 双向分支结构

   if()  else  if只能控制一条语句 所以if后面不能写多个语句 写多个语句会报语法错误

   if(){}else{}

if(): else: endif;

 c.多向分支结构(ifelse 从句)

if(){}elseif(){}else{}

 d.多向条件分支结构(switch case 从句)(重点重点重点重点重点)

switch(要匹配的变量){

case 1:

break;

case 2:

break;

default:

}

注意: switch 语句中 每个case条件后面要写上一个break进行跳出

switch 从句 case后面可以是分号也可以是冒号 但是推荐使用冒号!!

匹配的类型是可以不相同的

e.巢状分支结构

只有满足外面的条件才能进入里面的内容

 3. 循环结构(重点重点重点  难点)

         1.循环三要素

a. 初始值

b. 循环条件

c. 改变条件

2. 一种叫做计数循环(知道循环个数)

for

声明格式

for(表达式1;表达式2;表达式3){

  循环体语句

}

表达式1:  用来循环的变量初始值

表达式2:  用来判断循环的条件

表达式3:  用来改变循环的条件

for循环执行过程


表达式1->表达式2->循环体语句->表达式3->表达式2->循环体语句->表达式3->表达式2(不满足条件)->跳出循环

for 可以将表达式123全部拿出来

3. 一种叫做布尔循环(不知道循环个数)

while  do...while

while格式:

while(判断条件){

循环体语句

}

do...while格式:

do{

循环体语句

}while(判断条件);

 

while do while区别:

while:是先判断条件如果满足条件进入循环 直到不满足条件跳出循环

do..while: 是先执行一次之后再进行判断条件如果满足继续循环 如果不满足跳出循环

注意: do...while()格式小括号后面一定要有一个分号

4. 特殊流程控制(重点重点)

 1. break   跳出整个循环 执行下面代码

 2. continue   跳出当次循环 进入下次循环

 3. exit 别名  终止整个程序执行  不会在次执行下面内容

 4. die        终止整个程序执行  不会再次执行下面内容

5. goto (了解即可)

 goto 操作符用来跳转到程序中的另一个位置

这个位置可以用操作符名称加上冒号标记


PHP

标签:php

原文地址:http://13346331.blog.51cto.com/13336331/1980065

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!