初识PHP

1 php的类型

1

项目名称

默认语法

短标签

脚本

ASP

语法格式

<?php ?>

<? ?> / <?= ?>

<script=’php’>

</script>

<% %>

示例

<?php

echo‘Hello PHP’

?>

<?=

print ‘PHP’

?>

<script=’php’>

print ‘Hello’

</script>

<%

‘hello PHP’

 %>

备注

 

需要启用PHP中的short_open_tag指令

 

 

 

2 代码注释类型

2

项目名称

语法规范

示例

备注

单行C++语法

双斜线(//)

//Hello Php

 

shell语法

#开头

# title: Hello

 

多行C语法

/* */

/*Hello PHP*/

 

 

3 输出数据类型

3

项目名称

形式

示例

返回值

异同点

相同点

备注

print()

int print(argument)

<?php

print(‘Hello PHP’);

?>

返回1

 

都可以输出数据

1.echo返回输出的速度较printf()输出速度快些,主要是echo什么都不返回

echo()

Void echo(string argument1,[...string argumentN])

echo

‘I love PHP’;

什么都不返回

 

printf()

Integer printf(string format [,mixed args])

printf(‘Bar inventory: %d bottles of topnic water.’,100)

输出有静态文本和一个或者多个变量中存储的动态信息组成的混合产物

 

将静态数据和动态数据清晰的分至两个不同的部分,从而便于维护

通过printf(),我们有充分的控制权来决定如何将动态信息显示在屏幕上,可控因素包括其类型、精度、对齐方式和位置

sprintf()

string sprintf(string format [, mixed arguments])

$cost = sprintf(“$%.2f”,43.2)//$cost = 43.20

返回输出赋给一个字符串

 

 

3.1 常用类型指示符

4

类型

含义

例子

%b

将参数认为是一个整数,显示为二进制数

printf(‘%b hello’,101)

printf(‘%dHello$%.2f’,200,20.5)

...

%c

将参数认为是一个整数,显示为对应的ASCII字符

%d

将参数认为是一个整数,显示为有符号的十进制数

%f

将参数认为事业观浮点数,显示为浮点数

%o

将参数认为是一个整数,显示为八进制数

%s

将参数认为是一个字符串,显示为字符串

%u

将参数认为是一个整数,显示无符号十进制数

%x

将参数认为是一个整数,显示为小写的十六进制数

%X

将参数认为是一个整数,显示为大写的十六进制数

 

4 数据类型:具有一组相同特性的数据统称。

5

类型

定义

返回值

例子

备注

布尔型

表示真实性

True/false

$alive = false //false

$alive = 1 //true

$alive = -1 //false

 

整型

不包含小数部分的数

返回的不包含小数部分的数

$alive = 10; // 10

$alive = -1 // -1

$alive = 10.25 // 10

$alive = aa205 // 0

支持十进制、八进制和十六进制数表示的整数值

浮点型

称为单精度(float)、双精度(double)或者实数(realnumber)

返回的包含小数部分的数

4.5678

4.0

8.7e4

1.23E+11

表示货币值、重量、距离以及用简单的整数无法满足要求的其他表示

字符串

一个连续的字符序列

一个连续的字符序列

“PHP is great language”

‘whoop-de-do’

这样的组通常用单引号或双引号界定

数组

有索引的数据值集合,每个数组的索引【也称为键(key)】引用一个对应的值

 

[

0=>[‘id’=>2,’count’=>1]]

...

 

对象

对象

 

Class{

private $_power;

function($status){

   $this->_power = $status;

}

}

 

 

4.1类型之间的转换

 

定义 :将一个变量强制转换为与原类型不同的另一种类型,称为类型强制转换。

6

转换操作符

含义

例子

(array)

转换为数组

(array)$i =10 //$i[0] = 10

(bool)(boolean)

转换为布尔值

 

(int)(integer)

转换为整数

(int)$i = 10.5 //$i=10

(obj)

转换为对象

(obj)$model = ‘to’;

(real)(double)(float)

转换为浮点数

(float)$i = 5 //$i=5.0

(string)

转换为字符串

(string)$i = 10 // $i = ‘10’

 

4.2与类型有关的函数

7

项目名称

方法

返回值

可取值

形式

获取类型

gettype()

arraybooleandoubleintegerobjectresourcestringunknow type

 

 

/

String gettype(mixed var)

转换类型

settype()

True/false

arraybooleanfloatintegernullobjectstring

boolean settype(mixed var, string type)

 

4.3类型标识符函数

8

项目名称

形式

is_array()is_bool()is_float()is_integer()is_null()is_numeric()is_object()is_recourse()is_scalar()is_string()

bool is_name(mixed var)

 

5标识符

5.1概念

是变量、函数和其他各种用户定义对象通用的术语。

5.2标识符规则

1.标识符可以由一个或多个字符组成,必须以字母或下划线开头。

2.标识符只能由字母、数组、下划线字符和从127~255的其他ASCII字符组成。

3.标识符应区分大小写。

4.标识符可以是任意长度。

5.标识符名不能与任何PHP预定义关键字相同。

 

5.3示例

合法的标识符:my_function_myStoreSize ...

非法的标识符:!doorThis&count4four ...

6变量

6.1 概念

可以在不同时刻存储不同值的符号。变量是具有名字的内存位置,其中存有数据,可以在程序执行期间进行处理。

6.2 语法规则

$符号 + 标识符

6.3 语法命名规则

1.应遵循标识符的命名规则2.注意变量是区分大小写的。

6.4 示例:

合法的变量:$my_function$_myStore ...

非法的变量 : $!door$This&count$4four ...

6.5 赋值类型

//1.变量按值赋值

$color = 'red';
$number = 123;
$age = 12;
$sum = 12 + '15';

//2.引用赋值(第一种类型)

$value_first = 'Hello';
$value_second =& $value_first; //value_first和value_second 都等于 Hello
echo $value_first.'-'.$value_second.'<br/>';
$value_second = 'Good';
echo $value_first.'-'.$value_second.'<br/>'; //value_first和value_second 都等于JAVA

//3.引用赋值(第二种类型)

$value_first = 'PHP';
$value_second = &$value_first; //value_first和value_second 都等于 Hello
echo $value_first.'-'.$value_second.'<br/>';
$value_second = 'JAVA';
echo $value_first.'-'.$value_second.'<br/>'; //value_first和value_second 都等于JAVA

:所有变量都应当在使用前进行声明,最好带有注释

6.6 变量的作用域

定义的变量可允许访问的范围

9

作用域

范围/定义

示例

备注

局部变量

在函数中声明的变量,即它只能在该函数中引用

//局部变量

$x = 4;

function assignx()

{

$x = 0;

printf("\$x inside function is %d <br/>",$x);

//$x inside function is 0

}

assignx();

printf("\$x outside of function is %d <br/>",$x);

//$x outside of function is 4

$符号前加‘\’反斜线符号,可以将$符号转化为常规字符串字符,而不是一个变量。这种方式使用的‘\’反斜线符称为转义字符

函数参数

任何接受参数的函数都必须在函数首部声明这些参数,虽然这些参数接受函数外部的值,但退出函数后就无法在访问这些参数

//函数参数

function x10($value)

{

$value = $value * 10;

printf('this result is %d <br/>',$value);

print_r($value);

}

x10(10); //100

 

全局变量

可以在程序的任意地方访问,规则:global + 变量名

//全局变量

$somevar = 15;

function addit()

{

global $somevar;

$somevar++;

echo 'Somevar is '.$somevar; //Somevar is 16

}

addit();

function addit2()

{

/*若未访问全局变量global $somevar

则会出现提示

Notice: Undefined variable: somevar in D:\xampp\htdocs\first.php on line 47*/

$somevar++;

echo 'Somevar is '.$somevar;//Somevar is 1

}

addit2();

//全局变量(第二种类型)

function addit3()

{

$GLOBALS['somevar']++;

}

addit3();

echo 'Somevar is '.$GLOBALS['somevar'];//Somevar is 17

慎用全局变量

静态变量

关键字static + 变量名

//静态变量(未声明静态)

function keep_track()

{

$count = 0;

$count++;

echo $count.'<br/>';

 

}

//结果都为1

keep_track();

keep_track();

keep_track();

//静态变量(声明静态)

function keep_track2()

{

static $count = 0;

$count++;

echo $count.'<br/>';

 

}

keep_track2();//1

keep_track2();//2

keep_track2();//3

与声明为函数参数的变量不同,函数参数在函数退出时会撤销,而静态变量在函数退出时不会丢失值,并且还能保留这个值以便再次调用此函数是使用。

静态作用域对递归函数很有用。

 

7 PHP超级全局变量

7.1 PHP超级全局变量之$_SERVER

包含:web服务器创建的信息,它提供了服务器和客户配置及当前请求环境的有关信息

规范详情:www.w3.org/CGI

示例:

foreach($_SERVER as $x=>$v)
{
  echo "$x => $v <br/>";
}
//打印结果:
MIBDIRS => D:/xampp/php/extras/mibs
MYSQL_HOME => \xampp\mysql\bin
OPENSSL_CONF => D:/xampp/apache/bin/openssl.cnf
PHP_PEAR_SYSCONF_DIR => \xampp\php
PHPRC => \xampp\php
TMP => \xampp\tmp
HTTP_HOST => 127.0.0.1
HTTP_CONNECTION => keep-alive
HTTP_CACHE_CONTROL => max-age=0
HTTP_UPGRADE_INSECURE_REQUESTS => 1
HTTP_USER_AGENT => Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 */
HTTP_ACCEPT => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
HTTP_ACCEPT_ENCODING => gzip, deflate, br
HTTP_ACCEPT_LANGUAGE => zh-CN,zh;q=0.9
HTTP_COOKIE => __guid=96992031.483439665334252600.1554429075921.1936; monitor_count=51
PATH => C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Java\jdk1.8.0_171\bin;C:\Program Files\Java\jre1.8.0_171\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;D:\xampp\path\php;C:\WINDOWS\System32\OpenSSH\;D:\xampp\php;D:\composer;C:\ProgramData\ComposerSetup\bin;C:\Program Files\Git\cmd;C:\Users\asus\AppData\Local\Microsoft\WindowsApps;C:\Users\asus\AppData\Roaming\Composer\vendor\bin
SystemRoot => C:\WINDOWS
COMSPEC => C:\WINDOWS\system32\cmd.exe
PATHEXT => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
WINDIR => C:\WINDOWS
SERVER_SIGNATURE =>
Apache/2.4.26 (Win32) OpenSSL/1.0.2l PHP/7.1.7 Server at 127.0.0.1 Port 80
SERVER_SOFTWARE => Apache/2.4.26 (Win32) OpenSSL/1.0.2l PHP/7.1.7
SERVER_NAME => 127.0.0.1
SERVER_ADDR => 127.0.0.1
SERVER_PORT => 80
REMOTE_ADDR => 127.0.0.1
DOCUMENT_ROOT => D:/xampp/htdocs
REQUEST_SCHEME => http
CONTEXT_PREFIX =>
CONTEXT_DOCUMENT_ROOT => D:/xampp/htdocs
SERVER_ADMIN => postmaster@localhost
SCRIPT_FILENAME => D:/xampp/htdocs/first.php
REMOTE_PORT => 51916
GATEWAY_INTERFACE => CGI/1.1
SERVER_PROTOCOL => HTTP/1.1
REQUEST_METHOD => GET
QUERY_STRING =>
REQUEST_URI => /first.php
SCRIPT_NAME => /first.php
PHP_SELF => /first.php
REQUEST_TIME_FLOAT => 1554432847.382
REQUEST_TIME => 1554432847

7.3 PHP超级全局变量之$_GET

作用:使用GET方法传递的参数的有关信息

示例:$_GET[‘id’] = ‘1’ $_GET[‘cat’] = ‘apache’  ...

7.4 PHP超级全局变量之$_POST

作用:使用POST方法传递的参数的有关信息

示例:$_POST[‘id’] = ‘1’ $_POST[‘cat’] = ‘apache’  ...

7.5 PHP超级全局变量之$_COOKIE

作用:存储通过HTTP cookie传递到脚本的信息。这些cookie一般是由以前执行的PHP脚本通过PHP函数setcookie()设置的。

7.6 PHP超级全局变量之$_FILES

作用:通过post方法向服务器上传的数据的有关信息。它是一个二维数组,包含5个元素。第一个下表表示表单的文件上传元素名;第二个是5个预定义下标之一。

5个元素的含义:

$_FILES[‘upload-name’][‘name’]:从客户端向服务器上传文件的文件名。

$_FILES[‘upload-name’][‘type]:上传文件的MIME类型。这个变量是否被赋值取决于浏览器的功能

$_FILES[‘upload-name’][‘size]:上传文件的大小(以字节为单位)

$_FILES[‘upload-name’][‘tmp_name]:上传之后,将此文件移到最终位置之前赋予的临时 名。

$_FILES[‘upload-name’][‘error’]:上传状态码(UPLOAD_ERR_OK:文件上传成功。UPLOAD_ERR_INI_SIZE:文件大小超出了upload_max_filesize指令所指定的最大值。UPLOAD_ERR_FROM_SIZE:文件大小超出了MAX_FILE_SIZE异常表单域的参数(可选)指定的最大值。UPLOAD_ERR_PARTIAL:文件只上传了一部分。UPLOAD_ERR_NO_FILE:上传表单中没有指定文件)

7.7 PHP超级全局变量之$_ENV

提供PHP解析器所在服务器环境的有关信息。

示例:$_ENV[‘HOSTNAME’]:服务器主机名。$_ENV[‘SHELL’]:系统shell

7.8 PHP超级全局变量之$_SESSION

包含与所有回话变量有关的信息

8 变量中的变量

8.1规则

$符号 + 原变量名

8.2 示例:

$recipe = "spaghetti";
$$recipe = "& meatballs";
echo $recipe .'-'. $spaghetti;//spaghetti-& meatballs
echo $recipe .'-'. ${$recipe};//spaghetti-& meatballs

9常量

9.1概念/特点:

指在程序执行中无法修改的值,一旦定义,就无法在程序其他地方修改(或重新定义)

常量引用前面不需要使用$符号

常量是全局的,可以在程序/脚本的任意位置使用

9.2常量定义方法:

define()函数通过给一个变量名赋值来定义一个常量。

9.3形式:

boolean define(string name, mixed value[, bool case_insensitive]),形参case_insensitive若为true,那么后面对此常量的引用将不区分大小写。

9.4示例:

//常量
define("PI",3.1415926);
//define('PI',123456);无效的常量修改操作
printf("The value of PI is %f",PI); //The value of PI is 3.141593
echo '<br/>';
$pi2 = 2 * PI;
printf("PI double equal %f",$pi2);//PI double equal 6.283185
echo '<br/>';

 

10 表达式

10.1定义

表达式是一个短语,它表示程序中的某个特定动作。所有表达式至少由一个操作数和一个或多个操作符组成。

10.2示例:

$a = 5;  //赋整数值5给变量a
$a = ‘5’; //赋字符串5给变量a
$sum = $a + 10; //将 $a + 10 的和赋给sum
$wine = ‘zend’;//赋字符串’zend’’给变量wine
$sub--; //变量sub减1

10.3操作数

表达式的输入

10.3.1示例:

$a++; // $a是操作数
$sum = $val + $val2; //sum 、val和val2都是操作数

10.4操作符

10.4.1 定义

表达式中指定某个动作的符号

10.4.2 特性

优先级:运算规则一般都是从左往右,有乘除的先算乘除后加减、有括号的先算括号内。

结合性:指定了相同优先级运算,从左到右或从右到左

示例:

//操作符结合性

$values = 3*4*5*6*7;//从左到右
print $values;
echo '<br/>';
$c = 5;
print $values = $a = $b = $c;//从右向左
echo '<br/>';

10 操作符优先级、结合性作用

操作符

结合性

作用

new

 

对象初始化

()

 

建立表达式的子组

[]

包围索引

! ~ ++ --

布尔、按位取反、自增、自减

@

错误控制

/ * %

除法、乘法、取模

+ - .

加、减、拼接

<< >>

左移、右移(按位)

< <= > >=

 

小于、小于等于、大于、大于等于

== != === <>

 

等于 、不等于、相同、不相同

& ^ |

位与、位异或、位或

&& ||

布尔与、布尔或

?:

三元操作符

= += *= /= .= %=&= |= ^= <<= >>=

赋值操作符

AND XOR OR

布尔与、布尔异或、布尔或

 

分割表达式

 

10.4.3操作符的类型 

类型

定义/特点

符号

示例

算术操作符

用于完成各种算术运算

+ - * / %

 

赋值操作符

将一个数据值赋给另一个变量

= += *= /= .=

 

字符串操作符

拼接字符串

. .=

 

自增和自减操作符

自增/自减操作

++ --

 

逻辑操作符

用来判断多个变量的值,常用与if条件和whilefor循环

&&AND ||OR! NOXOR

 

相等操作符

用来比较两个值

== != ===

 

比较操作符

通过比较两个或多个变量值,提供了一种控制程序流程的方法

<><=>=?:

 

位操作符

组成整数指的各个”位”层次上的检查和处理整数值

&|^~<<>>

 

 

11 字符串插入

11.1类型

双引号、单引号、转义序列、大括号

11.2双引号和单引号的特点

其变量和转义序列都会得到相应的解析

不会解析其变量和转义序列

11.3双引号和单引号的示例:

//双引号

$sport = 'football';

print "I like playing $sport"; //I like playing football

echo '<br/>';

//单引号

print 'I like playing $sport'; //I like playing $sport

echo '<br/>';

 11.4转义序列 

转义序列

描述

\n

换行符

\r

回车

\t

水平制表符

\\

反斜杠

\$

美元符

\’’

双引号

\[0-7]{1,3}

八进制记法

\x[0-9A-Fa-f]{1,2}

十六进制记法

 

12大括号

作用:

  在echoprint要输出的串中嵌入表示复杂数据类型(如数组或对象)的变量,

解析是往往不太容易。这个问题可以通过用大括号界定变量来解决。(推荐使用,理由:可以看出字符串的哪些部分是静态的,而哪些部分是动态的)

示例:

echo “This capital of Ohio is {$capitals[‘city’]}.”

13 Heredoc

 

14 Nowdoc

 

15控制结构

含义:确定了应用程序的代码流程,定义了一些执行特性

类型:条件语句、循环语句、文件包含语句

15.1条件语句

类型:if语句、else语句、else if语句、switch语句

If语句语法:

if(expression){
  statement;
}

:若条件体只包含一条语句时,可以省略大括号;

else语法

else{
  statement
}

:若条件体只包含一条语句时,else可以省略大括号;

//elseif语法
elseif(expression){
  statement;
}

:若条件体只包含一条语句时,elseif可以省略大括号;

示例

//if-elseif-else语句(若条件体只包含一条语句时,elseif可以省略大括号)
if($c == $values) echo '我们是相等的';
elseif($c == $a) echo '我们也是相等的';
else echo '我们是不相等的';

switch语句语法:

switch($value){
  case $value:
  break;
  default:
}

:在每个case快的末尾处都有break语句。若没有break语句,就会执行所有后续的case块,直到遇到break停止。

示例:

//switch语句
switch($c)
{
  case 5:
    echo '我们都是等于5的';break;
  case 6:
    echo '我们都是等于6的';break;
  case 7:
    echo '我们都是等于7的';break;
  default:     echo '我们什么也不是'; }

Ifswitch语句的区别

  1.两者本质的区别是 if-else语句更适合于对区间(范围)的判断,而switch语句更适合于对离散值的判断

  2 示例

    判断65分到85分之间的学生有哪些适合用if-else语句,因为[65,85]是区间而判断一个学生的班级是一班、二班还是三班适合用switch语句,因为一班、二班、三班是离散值

  3 扩展

    所有的switch语句都可以用if-else语句来替换(因为if-else语句只需对每个离散值分别做判断即可),而并不是所有的if-else语句都可以用switch语句来替换(因为区间里值的个数是无限的并且switch所接受的值只能是整型或枚举型,所以不能用case来一一列举)

15.2循环语句

  类型:

    while语句、do...while语句、for循环、foreach语句、break语句、goto语句、continue语句

  while语句语法:

    while(expression){statements}:可以嵌入多个表达式

  示例:

//while语句
$counts = 0;
while($counts < 5)
{
    printf("%d squared = %d <br/>",$counts,pow($counts,2));
    $counts++;
}
//打印结果
/*0 squared = 0
1 squared = 1
2 squared = 4
3 squared = 9
4 squared = 16*/

   do...while语句语法:

    do{

      statements

    }while(expression)

  示例:

do{
    printf("%d squared = %d <br/>",$counts,pow($counts,2));//10 squared = 100
}while($counts < 5);

while语句和do...while语句的区别

  1.while语句的条件判断是在执行代码块之前执行,若符合,就执行代码块,不符合,就不再执行代码块。

  2.do...while语句的条件判断是在执行代码块之后执行的,所以不管符不符合条件判断,都会先执行一次代码块。

for循环语法

for(expression1;expression2;expression3){

statements;

}

:

expression1:在第一次循环时自动计算;

expression2:在每次循环时进行计算。这个表达式确定是否继续循环。

expression3:在每次循环结束后计算。

示例:

//for循环(第一种)
for($i=0;$i<5;$i++){
  printf("%d squared = %d <br/>",$i,pow($i,2));
}
//for循环(第二种)
/*for($i=0;;$i++){
  if($i<5){
    printf("%d squared = %d <br/>",$i,pow($i,2));
  }
}*/

//for循环(第三种)
/*$i = 0;
for(;;){
  if($i<5){
    printf("%d squared = %d <br/>",$i,pow($i,2));
    $i++;
  }
}*/
/*打印结果:
0 squared = 0
1 squared = 1
2 squared = 4
3 squared = 9
4 squared = 16*/ 

foreach语句语法(最擅长处理数组)

foreach(array_expr as $value){

statements;

}

示例

//foreach语句(第一种)
$array_list = array('www.baidu.com','www.360.cn','www.2345.com');
echo 'These are network:<br/>';
foreach($array_list as $v){
  //echo '<a href = http://'.$v.'>'.$v.'</a><br/>';
  echo "<a href = \"http://$v\">$v</a><br/>";
}

foreach语句语法(最擅长处理数组)

oreach(array_expr as $key => $value){

statements;

}

示例:

//foreach语句(第二种)
$array_list = array('baidu'=>'www.baidu.com','360'=>'www.360.cn','2345'=>'www.2345.com');
foreach($array_list as $x => $v){
  //echo '<a href = http://'.$v.'>'.$v.'</a><br/>';
  echo "<a href = \"http://$v\">$x</a><br/>";
}

break语句:遇到break语句将立即结束do...whileforforeachswitch或者while循环的执行。

示例

//break语句
$primes = array(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47);
for($i=1;$i++;$i<1000){
  $random = rand(1,50);
  if(in_array($random,$primes)){
    break;
  }else{
    printf("Non-prime number found: %d <br/>",$random);
  }
}
/*打印结果:
Non-prime number found: 46
Non-prime number found: 14*/

goto语句:遇到goto语句,是可以直接跳到一个循环或条件构造之外的某个特定的位置。

示例:

//goto语句
for($i=0;$i<10;$i++){
  $random = rand(1,50);
  if($random < 10){
    goto less;
  }else{
    echo "Number greater than 10 : $random <br/>";
  }
}
less:echo "Number less than 10 : $random <br/>";
/*打印结果
Number greater than 10 : 19
Number greater than 10 : 42
Number greater than 10 : 36
Number greater than 10 : 32
Number greater than 10 : 34
Number greater than 10 : 15
Number greater than 10 : 14
Number less than 10 : 8*/

continue语句:使当前循环迭代执行结束,并从下一次迭代开始执行。

示例:

//continue语句
$continues = array('good','hello','bye');
for($i=0;$i < count($continues);$i++){
  if($continues[$i] === 'bye') continue;
  printf("Words is : %s <br/>",$continues[$i]);
}
/*打印结果:
Words is : good
Words is : hello*/

15.3文件包含语句

 

类型

定义/特点

形式

示例

异同点

include()

将在其被调用的位置判断并包含一个文件。包含一个文件与复制该文件的数据到该语句所在位置具有相同的结果。

include(/path/filename)

include “user/local/lib/php/wi/init.inc.php”;

  1. 都是引入文件的方法
  2. Includ_once(),再引入文件前验证是否已将包含了该文件,若包含,就不在执行include_once
  3. 若将includeinclude_once放在if语句下,不能省略大括号
  4. Require()位置如何,指定文件都将包含出现在require()的脚本中
  5. Require()出错时,脚本将停止执行,而在使用include()的情况下,脚本将继续执行。
  6. Require_once()函数确保脚本只包含文件一次,遇到试图包含相同文件的行为都将被忽略。

include_once()

确保只包含文件一次

include_once(filename)

 

require()

请求文件

require()

 

Require_once()

确保只请求文件一次

require_once()

 

 

16小结

  在初始php中我们,学习了PHP的类型、代码注释类型、输出数据类型、常用指示符类型、数据类型、标识符、变量、常量、表达式、控制结构、字符串等。

虽然本小节的知识有些枯燥,但是这是我们迈向高级PHP程序设计师的一步,加油!!!!

posted @ 2019-04-06 14:56  努力跟上大神的脚步  阅读(193)  评论(0)    收藏  举报