PHP基础加强笔记_第1页
PHP基础加强笔记_第2页
PHP基础加强笔记_第3页
PHP基础加强笔记_第4页
PHP基础加强笔记_第5页
已阅读5页,还剩33页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP基础加强

PHP基础加强....................................................................................1

第一章PHP基础语法...........................................................................2

1.1PHP标示符..............................................................................2

1.2PHP分割指令--分号......................................................................4

1.3PHP程序注释...........................................................................4

1.4html和php的混合模式...................................................................5

第二章PHP变量................................................................................6

2.1变量的介绍..............................................................................6

2.2变量的声明..............................................................................6

2.3可变变量................................................................................7

2.4变量的传值方式..........................................................................7

2.5变量的范围..............................................................................9

2.6变量常用的5个函数....................................................................10

第三章预定义变量............................................................................12

3.1$GLOBALS..............................................................................13

3.2$_SERVER..............................................................................13

3.3$_FILES................................................................................14

3.4$_GET:URL方式传递数据...............................................................15

3.5$_POSTHTTPPOST方式传递数据.........................................................15

3.6$_REQUEST............................................................................16

第一章PHP基础语法

1.1PHP标示符

1.1.1标准标示符

语法:<?phpcode;?>

说明:PHP语言自己的标示符,推荐使用,如果当前PHP标示符里面只有PHP代码,结束的标示符(?>)

可以省略。

案例:

1<?php

2〃这个就是标准的标示符,如果这里只有PHP代码,后面的结

束符号可以省略

3echo1你好!PHP07期

1.1.2短标签风格

语法:<?Code;?>

说明:这种风格的方法是默认不开启的,需要在php.ini中开启次功能,所以不推荐使用。

案例:

,rILj-oiivaJLUC•vii

199;/short-open-tag

200short_open_tag=ON____►把原来的。械。n

2UI~=

(XDebug):Remotedebug

QCDebug):Profiler

ve・(X力.haig);ProfilerFnahlaTrincjf^r

asptag,

outputbuffering

zliboutputcompression

implicitHush

/exposePHP

/displayerrors

Jdisplaystartuperrors

/logerrors

ignorerepeatederrors

ignorerepeatedsource

,reportmemleaks

/trackerrors

registerargcargv

enabledl

#fileuploads

rDVersion

MPHPsettings

£|PHPextensions►

Ichcam

6<?

7echo,您好!世界!]

8?>-

@localhort/PHPU/-l/<ii>X_

:C①locilhost/PHP07-l/day01/01.demo.php

你好!PHP07期您好!世界!

1.1.3SCRIPT风格

语法:<scriptlanguage=,,php,,>code;</script>

说明;模仿jsp的风格

案例:

一

10<scriptlanguage=Hphp">

11echo"你好!世界!、

12</script>

1.1.4ASP风格

语法:<%code;%>

说明:这种风格的方法默认是不能使用的,需要php.ini中开启次功能,所以不推荐使用。

案例:

说明:注释是可以对当前文件或者当前某些代码进行说明的方式,也可以在调试代码时使用,把某些代码

直接注释掉而不是删除。

注释分为两类:单行注释和多行注释

单行注释:

2〃双主斜杠是单行注释,用于对下面的语句或写到语句后面

3echo'你好’;〃输出打印string类型的你好

4#单行注释,用于对当前文件的说明

5#操作MySQL函数库文件

6#作者:XXXX

7#日期:2017-3-3

多行注释:

10/*

11这里就是多行注释,用于对函数或类的说明

12*/

13

14/**

15*人类

16*$name创建对象的名称一属性

17*$age创建对象时的名称一属性

18*/

1.4HTML和PHP的混合模式

说明:php的代码是不能写入到HTML中的,需要用PHP的标示符隔开,PHP代码只能在PHP文件中执

行,不能写到其他语言文件中,html代码可以写到PHP文件中,直接写入到PHP文件中的方式不再推荐使用,

可以使用引入的方式把html文件引入php文件中来执行。

1<?php

2$title='泰牛程序员’;

3?>

4<!DOCTYPEhtml>

5<htmllang="en">

6<head>

7<meta.harset="UTF-8">

8<title><?phpecho?></title>

9</head>

10<body>

11

12</body>

13</html>

第二章PHP变量

2.1变量的介绍

说明:可以存储变化的量(数据)的空间,可以变化的量是通过上下文来绝定,所以称为“弱类型语言”。

PHP变量的存储方式

2.2变量的声明

说明:变量的声明是有“$”来进行定义的声明的,在内存需要定义变量并赋值。

语法:$变量名=量;

注意:

变量名是数字(0-9)、字母(a-zA-Z)、下划线组成的且不能以数字开头的定义方式。

1<?php

2〃变量的声明

3$name='张三

4$age=18;

5$sex=true;

6$user_name='admin1;

7$5_ser='admin';

8$_5user='admin';

9

以后变量名必须是“见名知意”的定义方式。

2.3可变变量

说明:可以把某个变量的追当成另一个变量的名来使用,这个时候的好处是减少变量的定义,节省内存空

案例:

1<?php

2〃可变变量

3$name='hello';

4$$name='world';//

$name的值hell。,在它的前面在加$返回,就会找$name星值当成变量名

5$$$name='你好!

6echo$hello;

7echo'<br>>;

8echo$name.${$name}.${${$name}};

9

2.4变量的传值方式

值传递

说明:把一个变量的值“复制”一份,然后在赋值给另一个变量,这个时候的两个变量是没有任何关系的。

值传递

$name=张三;

$zs»Sname;

$name

命名区

1<?php

2〃值传递

3$name=,张三’;

4$zs=$name;

5echo$name,$zs;

6echo'<br>';

7$name='李四]〃变量的重新赋值,用现在的值覆盖原来的值

echo$name,$zs;

9

10

引用传递

说明:把一个变量的值的空间地址给另一个变量,这个时候的两个变量公用一个数据空间,指向同一个地

址,这个的两个变量值有关系的

10〃引用传递

11$age=18;

12$zsage=&$age;〃用&符号取得$明金变量的数据地址,&叫取址符号

13echo$age,$zsage;

14echo'<br>';

15$age=20;〃引用传递方式如果是修改某个变量,那么都会改变。

16echo$age,$zsage;

17echo'<br>';

18〃删除其中一个后另一个不受影响

19unset($age);

20echo$age>$zsage;

2.5变量的范围

说明:在PHP中变量分为三种访问的方式(范围),局部变量、全局变量、静态变量

全局变量

说明:在函数外定义的变量的就称为“全局变量”,正常情况只能在函数外使用

3〃全局变量

4$name='admin';//

全局变量,不能在函数内部使用,原因是存储位置不一样。

6functionuser(){

7echo$name;〃不能使用全局变量

8}

9

10uber();

局部变量

说明:在函数内定义的变量就称为“局部变量”,正常情况只能在函数内部使用。

6〃局部变量’

7functionuser(){

8//echo$name;〃不能使用全局变量

$name2=,admin2";〃局部变量不能在外部使用

10echo$name2;

11}

12user();

13echo$name2;

静态变量

说明:正常情况下变量是在运行完当前页面后进行销毁的(PHP自己的特性),如果不想销毁可以使用静

态变量

15〃静态变量

16$age=18;

17$age++;

18echo$age;

19vfunctionagel(){

20static$age=18;"static就是静态变量的声明方式,静态变量声

明后运行完当前页面不再销毁这个变量,而是保留。

21echo$age;

22$age++;

23)

24agel();//18

25agel();//19

26agel();//20

27agel();//21

28agel();//22

全局转局部或局部转全局

说明:局部变量可以在函数内声明为全局变量,这个时候局部就可以在函数外使用,声明方式:$GLOBALS

和global

36〃局部转全扃

37//global$sex;这种方式不行

38//global$sex='男〃这种方式不行

39$sex='男]

40functionadmin(){

41global$name,$sex;〃声明为全局变量

42$name='admin';

43echo$sex;

44}

45admin();

46echo$name;

2.6变量常用的5个函数

IssetQ:判断变量是否存在

(PHP4,PHP5,PHP7)

sset—检测变量是否设置

说明

boolisset(mixed$varQndxed$...])

检测变量是否设置.并且不是ML。

2//issetO:检测变量是否存在

3$name='admin';

4$res=isset($name,$age);

5var_dump($res);〃为假

6〃目的是防止用户直接访问当前页面,如果直接访问会查不到username下

标,结果会报错

7$userName=isset($_GET['usernmae*])?$_GET['username']:'';

8if(isset($name?$age)){

9echo,存在[

10}else(

11echo,不存在]

12}

UnsetQ:删除或销毁变量

14unset($name);〃unset不止可以删除变量,还可以删除数组中的某个元素

15echo$name;

16if(isset($name)){

17echo'存在

18)else(

19echo'不存在‘;

20}

EmptylJ:判断变量是否为空

(PHP4,PHP5,PHP7)

empty—检查一个变量是否为空

说明

boolenpty(nixed$var)

判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不

存在的话.empty(由不会产生警告。

当var存在,并且是一个非空非零的值时返回FALSE否则返回TRUE

以下的东西被认为是空的:

・空字符串)

•0(作为的白如

•0.0(作为浮点数的0)

・第”(作为字符串的0)

・HULL

•FALSE

•arrayO(一个空股组)

・$va,(一个声明了,但是没有值的变量)

22$name=1;

23if(empty($name)){

24echo1为空,;

25}else{

26echo1不为空

27}

Echo:输出打印值,不能输出复合和特殊的数据类型的值

29$age=18;

30$arr=array(l>2,3,4);

31echo$name,$age,$a「r;//admin18

Var_dump():输出打印值、类型、长度,打印复合或特殊类型的值

55

string-admin'(lengths)

34var_dump($name^$ageJ$arr);int18

array(sizeX)

0=>int1

1=>int2

2=>int3

3=>int4

第三章预定义变量

说明:就是PHP系统内置的提供给使用的变量,这个变量一般都是超全局变量,超全局的说明就是没有

作用域的限制有的还可以跨页面。

这些超全局变量是:

•$GLOBALS

•$SERVER

•$GET

•$POST

•$FILES

•$COOKIE

•$SESSION

•$REQUEST

•$ENV

3.1$GL0BALS

说明:globals是PHP内置的可以自动获取当前页面中的所有变量的内容。

1<?php

2//

3$name="admin,;

4$age=18;

5$sex=1;

6

7var_dump($GLOBALS);

8echo$GLOBALS['name'];

9

10functionabc(){

11echo$GLOBALS[1name'];

12}

13abc();

3.2$SERVER

说明:server会自动获取服务器和客户端的信息

S.SERVER是一个包含了诸如头信息《header)、[曜(path)、以及脚本位置(senptlocations)等等信息白激组。这个数组中

的项目由Web服务器创建。不能保证每个服务器都提供全页目;服务器可能会忽略一些,或者提供一些没有在这三列

举出来的项目。这也就意味着大量的此类变量都会在?CG11.1规范中说明,所以应该仔细研究一下。

$inTP_SERVER_VARS包含着相同的言息,但它不是一个超全局变量。(注意$HTTP_SERVER_VARS与5_SERVER是不同白咬

t,PHP处理它们自访式不同)

6echo'<tableborder=l>';

7、foreach($_SERVERas$key=>$value){

8echo'<tr>';

echo'<td>'.$key.'</tdxtd>,.$value.'</td>';

10echo'</tr>';

11)

12Techo'</table>';

1n

3.3$FILES

说明:获取上传文件的信息

array(size=5)

'name'=>string'board.png'(1ength=9)

'type'=>string'i*age/png'(lertgth=9)

rtjnp_name,=stringJD:\tnwanp\-:up\phpl2EB.tnp,(Iengtb=25)

'error'=>int0

'size'=>int1284

选择文件未选择任何文件上传

Name:图片的名称

Type:图片的类型

Tmp_name:文件的临时文件夹和临时名称

Error:错误信息

Size:文件的大小

1<?php

2〃$_F1LES获取文件的信息

3var_dump($_FILES['updata']);

4move_uploaded_file($_FILES['updata']['tmp_name'

D:\tnwamp\tmp\xxx.jpg');

5-?>

6<!DOCTYPEhtml>

<htmllang="en">

8<head>

<metacharset=',UTF-8">

10〈title》上传〈/title)

11</head>

12<body>

13v<formaction=""method="post"enctype="multipart/form-data">

14<inputtype="file"name="updata">

15<inputtype="submit"value="上传"》

16</form>

17</body>

18</html>

3.4$GET:URL方式传递数据

说明:其实就是浏览器的地址栏传递方式,

传递方式:URL地址?参数l=ffl1&参数2二值2........................

传递形式:表单的get方式和超链接方式

CMEElementsConsoleSourceNetworkTimelineProfilesApplicationSecurityAudits

・0,VView::=□Preservelog□Disablecache|□OfflineNothrottling

Regex□HidedataURLsQXHRJSCSSImgMediaFontDocWSManifestOther

50ms100ms150ms200ms250ms300ms350ms400ms450ms500ms550ms600ms650ms

NanePreviewResponseCookiesTiming

J13demo.php?usemame=fff

_|favicon.icoRequestURL:http://localhost/PHROJ-l/da^l/lS.demo.php?username=fff

RequestMethod:GET

StatusCode:0200OK

RemoteAddress:(::1]:80

▼ResponseHeadersviewsource

Connection:Keep-Alive

2requests199KBtransferredContent-Length:262

3.5$POST:HTTPPOST方式传递数据

说明:通过HTTP协议的post方式来传递数据

传递方式:表的post方式或ajax

1<?php

2$username=$_POST['username'];

3*echo$username;

4?>

5<!DOCTYPEhtml>

6<htmllang=,,en">

7<head>

8<metacharset='*UTF-8">

9<title>Document</title>

10</head>

11<body>

12v<formaction=""method="post">

<inputtype="text"name="usernan'e',>

14<inputtype="submit"value="提交”》

15</form>

16</body>

17</html>

G①localhost/PHP07-1/day01/14.demo.php

fffffffff

QEElementsConsoleSourcesNetworkTimelineProfilesApplicationSecunt

•0,▽|View:□Preservelog□Disablecache|□OfflineNothro

口0R«9ex□HidedataURLs幽XHRJSCSSImgMediaFontD<

100ms200m$300msAQOmt5

NamexHeadersPreviewResponseCookiesTiming

qiocuyqi

]14ziemo.php11BU;qraZ2132lastcheckfeed=lVC1487833346;qra

□favicon"。Host:localhost

Origin:http://localhost

Refereehttp://locdlhost/PHP07-l/day«l/14.demo.phj

Upgrade-Insecure-Requests:1

User-Agent:Mozill«/5.0(WindowsNT6.1;Win6A;x6

▼FormD、"viewsourceviewURLencoded

2requests199KBtransferred...username:fffffffff

3.6$REQUEST

$REQUEST

S.REQUEST—HTTPRequest变量

说明

默认情况下包含了$GET.$_POST和$COOKIE白谢组。

1<?php

2$user=$_REQUEST['user'];

3echo$user;

4,〃

接口:把功能封装成类或函数,然后把一个url地址发布出去,让别人使用

5?>

6<!DOCTYPEhtml>

7<htmllang="en">

8<head>

9<metacharset="UTF"8">

1G<title>Document</title>

11</head>

12<body>

13"<formaction=""method=,,post">

14<inputtype="text"name="user">

15<inputtype="submit"value="提交")

16</form>

17</body>

18</html>

第四章常量

说明:常量一旦定义,里面的值和常量是不能改变和销毁的,而且常量名不能重复。

4.1常量的定义

语法:define(常量名,常量值〕;不能定义复合数据

5.XPHP版本:const来定义复合的数据,如:数组

7.0PHP版本:define可以定义复合的数据,如:数组

Define(ARR,[l,2,3,4]);

案例:

2//储量的定义

3define(NAME)'admin');

4define(pi,3.14);

5〃const定义方黄

6TconstARR=array(l)2,3,4);

7

1<?php

2〃常量的定义localho$t/PHP07-l/d6x

3define('NAME','admin');C①localhc$t/PHP07-l/day01/16.demo.php

4define('PI',3.14);

5〃(:onst定义方式Notice:ConstantNAKEalreadydefinedinD:\tnwaiv\ww\PHP07T

6//constARR=array(l,2,3,4)CallStack

7«TixIcBoryFunctionLocation

10.0000134896(roain)()..\16.deroo.

8*define('NAME','admin8881);20.0000135048()..\16.deroo.

5〃const定义方式

6constSTR=1admin';

4.2访问常量

说明:直接使用常量名就可以了。

1<?php

2〃常量的定义

3define('NAME1Jadmin');

4echoNAME;|

5definedPI',3.14);

6echoPI;

7〃const定义方式

8constSTR='admin';

9vardump(STR);|

使用:网站的配置文件中使用。如:当前网站路径

//系统常量定义

Refined(,THINK_PATH•)ordefine(•THINKPATH,,_DIR_.•/•);

defined(•APPPATH•)ordofino(•APPPATH,,dTrnaBiQ($SERVER('SCRIPTFILENAME']).,

defined(,APP]STATUS•)ordefine('APP二STATUSI**);//应用状右加枚对应的配■文件

defined(•APP^DEBUG•)ordefine('APP[DEBUG’,false);//是否调试模式

li:(functionexists('saeAutoLoader*)){//自动识别SAE环境

definedCAPPMODE')ordefineCAPPMODE,,,sae*);

defined(•STORAGETYPE')ordefine('STORAGETYPE',,Sae1);

}else(

defined(»APP_MODE')ordefine('APP_MODE',*common*);//应用模式默认为

defined(•STORAGETYPE')ordefine(•STORAGETYPE,,,File*);//存用ile

defined('RUNTIMEPATH•)ordefine(•RUNTIMEPATH',APPPATH.1Runtime/1);

iefined(,LIB_PATH')define(•LIB_PATH\:•h(THINK_PATH.'Library').,/');

iefined('CORE_PATH')define(•COREPATH',LIB_PATH.*Think/*);//T

iefined('DEIIAVIOR_PATII•)ordefine(•DEI1AVIORPATH',LID-PATI1.•Behavior/');//fj:I<'

iefined('MODEPATH')ordeline('MODEPATkl⑻cR:PATH.'Mode/');

4.3魔术常量-预定义常量

几个PHP的“魔术常量”

名称说明

文件中的当前行号。

_FILE_文件的完整路径不收件名。如果用在被包含文件中,则返回被包含的文件名。自PHP402起,

_FILE_总是包含一个免对路径(如果是符号连接,则是解析后碌fe对路径),而在此之前的版本有

时会包含一个相对路径。

_DIR_文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于d/mame

(_FILE_),除非是根目录,否则目录中名不包括末尾的斜H(PHP530中新增)=

_FUHCTIOI_函数名称(PHP430哥加).自PHP5起本常量返回该函数被定义时的名字(区分大“写)。在

PHP4中该值总是“写字用的。

_CLASS_类的名称(PHP430新加).自PHP5起本常量返回该类被定义时的名字(区分大”写).在

PHP4中该值总是“写字母的。类名包括其被声明的作用区域(例如FoolBar)。注意自PHP5.4起

trait也起作用。当用在trait方法中时,_CLASS_是调用trait方法的类的名字。

_TRAIT_Trail的名字(PHP54c新力口),自PHP54起此常量返回trai1被定义时的名字(区分大“写)。

Trait名包括其被声明的作用区域(WFoo\Bar).

_«ETHOD_类的方法名(PHP5O0新加)。返回该方法被定义时的名字(区分大“写)。

_HA1ESPACE_当前命名空间的名称(区分大〃写),心哨量是在编译时定义的(PHP530新增)°

iy

20

21//_CLASS_:获取当前类名

22〃文件名叫:getUserClass.php

23TclassgetUser{

24functionindex(){

25include'./xxx/index.html';

26}

27functionadd(){

include'./xxx/index.html';

29}

3。}

31〃mvc:URL传递数据,index.php?c=getUser&a=xxx&m=index

32

产生随机数的函数:rand()

(PHP4,PHP5)

rand一产上一个随机蛭

说明

intrznd(void)

intrand(int$ndn,int$irax)

33〃rand()函数

34$num=rand(lJ5);

35echo$num;

第五章数据类型

说明:就是PHP能存储数据格式,PHP提供8种数据类型

标量类型:intfloatstringboolean

复合类型:arrayobject

特殊:nullresource

在文档(手册)里提供的类型

5.1字符串类型-STRING

说明:字符串类型就是把任何的数据加上引号(单引号和双引号)就是字符串了。

如:$name='admin';$name="admin";

单引号

语法:加上英文状态下的单引号,‘字符‘

双引号

语法:加上英文状态下的双引号,“字符”

单引号和双引号的区别

1.双引号可以解析变量,如:$name="$admin";

2.单引号不能解析变量

7〃单引号和双引号的区别

8echo”用户名为:〃双引号可以解析变量

9echo'用户名为:{$name},;〃单引号不能解析变量

3.转义字符的多少,双引号转义的字符多,单引号只有两个(',\)

双引号转义字符:

转义字符

序列含义

换行(ASCII字符集中的LF或0x0A(10))

V回车(ASCII字符集中的CR或OxOD(13))

V水平制表符(ASCII字符集中的HT或0x09(9))

\v垂直制表符(ASCH字符集中的VT或OxOB(11))(自PHP5.2.5起)

©Escape(ASCII字符集中的ESC或0x1B(27))(§PHP5.40起)

\f换页(ASCII字符集中的FF或0x0C(12))(自PHP525起)

11反物

\$美元标记

r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论