认识PHP代码标识

利用不同的四对标记

指令分隔符

php字符型转整型PHP入门PHP根本语法一 Webpack

程序注释

变量

什么是变量

如何定义变量

变量名的命名规则

4.1 PHP标量类型—整型

4.2 标量类型—浮点型

4.3 PHP标量类型—字符串

4.4标量类型—布尔类型

4.5第一种分外类型—资源

4.6PHP第二种分外类型—空类型

4.7第一种复合类型—数组

4.8第二种复合类型—工具

超全局变量

empty()函数

isset()函数

常量

系统常量

内置常量

php可以做什么

php是一种可以在做事器端运行的编程措辞,可以运行在Web做事器端。

php是一门后台编程措辞,是目前比较主流的后台编程措辞。

认识一下PHP及其功能。

运行在做事器端:学会了PHP,就可以指挥做事器给你干活,乃至是搞毁坏^_^(千万不能真这么做咯),WEB网站的大部分数据都是存储在做事器真个,PHP便是用来处理这些存储在做事器的数据的(功能强大吧)。

跨平台:做事器可以是多种平台的做事器,比如Linux、Windows、Unix,你都可以指挥(不用怕只能指挥一种做事器啦吧)。

脚本措辞:它是通过编写脚本,也便是一行行的打算机指令(也可以理解为特定的英文单词),来指挥做事器来事情的,因此,在编写PHP的过程实在便是与老外(做事器成老外啦)互换的过程,互换的措辞便是PHP。

免费:免费利用(天下还真有免费的午餐)。

认识PHP代码标识

想在页面中编写PHP代码非常随意马虎,如下面代码:

<?php

就像你可以编写JavaScript脚本措辞须要写在<script></script>标签之间一样,你可以在页面中编写PHP代码写在<?php ?>标签之间,但把稳后面的?>是可以省略的。

文件后缀名为.php结尾,上传到Web做事器的文档根目录下,通过浏览器访问Web做事器管理下的PHP文件,就可以运行PHP文件。

利用不同的四对标记

<?php开始和以?>结束标记是标准风格,这是PHP推举利用的标记风格。

<script language=\"大众php\公众>开始和<script>结束是长风格标记,这种标记最长,总是可用的,但我们并不常用。

<?开始和以?>结束标记是简短风格的标记,是最大略的,但是系统管理员偶尔会禁用掉它,由于它会滋扰XML文档的声明。
只用通过php.ini配置文件中的指令short_open_tag打开后就可以利用。

<%开始和以%>结束标记是ASP风格的标记,可以在php.ini配置文件设定中启用了asp_tags选项就可以利用它(默认是禁用的),习气了ASP风格的可以利用它。

指令分隔符

PHP同C或Perl以及Java一样,语句分为两种:

一种是在程序中利用构造定义语句例如流程掌握、函数与类的定义等,是用大括号来标记代码块,在大括号后面不要用分号。

另一种是在程序中利用功能实行语句,如变量的声明、内容的输出、函数的调用等,是用来在程序中实行某些特定功能的语句,这种语句也可称为指令,PHP须要在每个指令后用分号;结束。

和其他措辞不一样的是,在PHP中右括号?>前的分号不是必选的

> 每个语句结束之后忘却加分号可是会报语法缺点的哦~

程序注释

对付阅读代码的人来说,注释实在就相称于代码的阐明息争释。
注释可以用来阐明脚本的用场、脚本编写人、为什么要按如此的方法编写代码、上一次修正的韶光等等。

PHP支持C、C++和Shell脚本风格的注释,如下:

单行注释 //

$a = 3 //申明一个变量 这是单行注释

多行注释 (把稳:不能嵌套)//

/ 多行注释内容

脚本注释 #

#这是一种脚本注释方法

程序员在编程时利用注释是一种良好的习气,可以用来写帮助文档,有助于调试程序。

把稳: 注释要写在代码的上面或是右边

变量

什么是变量

变量是用于存储值的,我们命令做事器去干活的时候,每每须要产生一些数据,须要临时性存放起来,方便取用。
我们也可以理解为,变量就像一个购物袋,我们可以用来装苹果、榴莲(当然也可以用来装玫瑰),须要把稳的是,一样平常情形下一个变量只能装一个(不要太贪心)值,除非是复合变量(后面变量类型时会先容),当我们放进去一个苹果后,再放进榴莲的时候,苹果就被更换掉,再放入喷鼻香蕉,那么榴莲就被更换了。

如何定义变量

定义变量便是向做事器的内存申请空间,用来存储数据。
这时候我们就须要用到变量名和变量值.

<?php$n = 10;

阐明一下,在=左边的是变量名,右边的是变量值。
完成定义变量后,须要一个;见告做事器这行指令已经结束。
个中变量名必须通过$符号标识,=可不是我们平常所说的等号哦,在PHP中,=是赋值运算符;在这里,var_name是变量名,苹果是变量值,它是一个字符串;n是变量名,10是变量值,它是一个整型。

变量名的命名规则

变量名除了须要$进行标识外,还有一些规则须要遵守。
变量名的命名规则紧张有三条:

①变量名必须以字母或下划线\"大众-“开头,数字不能开头。
如”$_name\公众,\公众$name\公众 ,\"大众$name2\公众等

②变量名只能由字母、数字以及下划线组成,还能包含汉字。
$_qq$qq308$my_apple$name我等但是$name是不对的。

③变量名不许可包含空格。
当变量名由多个单词组成,建议利用下划线”-“进分隔比如 $my_apple,俗称下划线法,或者以大写字母开头比如 $myApple,俗称骆驼式命名法(也称驼峰命名法)。

特殊须要把稳的是,在PHP中变量名是区分大小写的,如$my_book$my_Book代表两个不同的变量。

变量的数据类型

数据类型: PHP 支持八种原始类型。

四种常量类型:

在变量中,由于变量占用的空间单元不一样(占的地盘大小不一样),也分成几种数据类型。

我们可以通过利用memory_get_usage获取当前PHP花费的内存。

可以比拟一下内存花费

<?phpecho $m1 = memory_get_usage(); //初始化花费内存echo \"大众<br/>\"大众;

gettype() 返回变量的类型,共有8个可能的值string、integer、float、boolean、array、object、null、unknown

is_type() 查看变量是否属于某个类型,如果是,返回TRUE,否则,返回FALSE

$arr = array(1);echo is_array($arr);

is_array – 检测变量是否是数组

is_bool – 检测变量是否是布尔型

is_callable – 检测参数是否为合法的可调用构造

is_double – is_float() 的别名is_float – 检测变量是否是浮点型

is_int – 检测变量是否是整数

is_integer – is_int() 的别名 is_long –is_int() 的别名

is_null – 检测变量是否为 NULL

is_numeric – 检测变量是否为数字或数字字符串

is_object – 检测变量是否是一个工具

is_real – is_float() 的别名

is_resource – 检测变量是否为资源类型

is_scalar – 检测变量是否是一个标量

is_string – 检测变量是否是字符串

var_dump() 获取变量的值和类型的详细信息

$str = ‘hello’;var_dump($str);$arr = array(‘A’, ‘B’, ‘C’);var_dump($arr);

在php中,支持8种原始类型,个中包括四种标量类型、两种复合类型和两种分外类型。
php是一门疏松类型的措辞,不必向php声明变量的数据类型。
php会自动把变量转换为自动的数据类型。

<?php$string=\"大众便是便是\"大众; //定义一个字符串\"大众便是便是\公众var_dump($string); echo \"大众<br/>\"大众;

输出结果:string(12) “便是便是” int(9494)

我们可以创造, 这个变量自动就从原来的字符串转换成了整型咯。

4.1 PHP标量类型—整型

整型(integer):类似于常见的整数。
它可以用十进制、八进制、十六进制指定。
十进制便是日常利用的数字;八进制,数字前必须加上\公众0\"大众(阿拉伯数字0);十六进制,数字前必须加\"大众0x\"大众(阿拉伯数字0)。
如:

<?php$data_int = 1234; // 十进制数$data_int = -567; // 一个负数$data_int = 0123; // 八进制数(即是十进制的 83)$data_int = 0x1a; // 十六进制数(即是十进制的 26)?>

4.2 标量类型—浮点型

浮点型(浮点数、双精度数或实数),也便是常日说的小数,可以用小数点或者科学计数法表示。
科学计数法可以利用小写的e,也可以利用大写的E。

<?phpecho $num_float1 = 1.234; //小数点,输出结果1.234echo $num_float2 = 1.2e3; //科学计数法,小写e,输出结果1200echo $num_float3 = 7.0E-3; //科学计数法,大写E,输出结果0.007?>

4.3 PHP标量类型—字符串

字符串是由一系列字符组成,在PHP中,字符和字节一样,也便是说,一共有256种不同字符的可能性。

字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc构造形式。

<?php$str_string1='我是字符串1';

当你的字符串中包含引号的时候,我们怎么办?

<?php$str_string1 = '甲问:\"大众你在哪里学的PHP?\"大众'; //单引号中嵌入双引号$str_string2 = \"大众乙绝不犹豫地回答:'你猜!
'\"大众; //双引号中嵌入单引号$str_string3 = '甲问:\'能见告我网址吗?\''; //单引号中嵌入单引号,利用转义符\"大众\\"大众$str_string4 = \"大众乙答道:\\公众www.你猜.com\\"大众\公众; //双引号中嵌入双引号,利用转义符\"大众\\公众echo $str_string1;echo $str_string2;echo $str_string3;echo $str_string4;?>

当引号碰着美元咋办?这里的美元可不是真正的美元,而是用美元符号标识的变量。

字符串转义

\n 换行

\r 回车

\t 水平制表符,tab键

\ 反斜杠

$ 美元符

\"大众 双引号

当双引号中包含变量时,变量会与双引号中的内容连接在一起;双引号可以解析变量,如果想明确的指定名字的结束,可以用花括号{ }把变量名括起来。
echo \"大众He drank some {$beer}s\"大众;

当单引号中包含变量时,变量会被当做字符串输出。

<?php$love = \"大众I love you!\公众;

当我的字符串很长怎么办?

我们可以利用Heredoc构造形式(定界符)的方法来办理该问题,首先利用定界符表示字符串(<<<),接着在\"大众<<<\公众之后供应一个标识符GOD,然后是字符串,末了以供应的这个标识符结束字符串。

<?php$string1=<<<GOD

在赋值符号后,输入定界符\公众<<<\公众,接着是标识符,你可以用你的女神作为标识符\"大众GOD\"大众,如第2行,也可以利用你喜好的狗狗,“DOG\"大众作为标识符,但是,结尾处的标识符也必须是一样的。
此外,在结尾的一行,如第7行,一定要另起一行,并且此行除了\"大众GOD”,并以\"大众;\"大众号结束之外,不能有任何其他字符,前后都不能有,包括空格,否则会涌现缺点的哦。
牢记牢记哦。

定界符也可以解析变量,如果想明确的指定名字的结束,可以用花括号{ }把变量名括起来。

4.4标量类型—布尔类型

布尔类型(boolean):只有两个值,一个是TRUE,另一个是FALSE,可以理解为是或否。
它不区分大小写。
紧张用在条件构造中。
须要把稳的是,当我们用echo指令输出布尔类型时,如果是true则输出的是1,false则什么也不输出。
我们可以利用var_dump函数,获取它真正的数据类型。

> 当其他类型转换为 boolean类型 时,以下值被认为是FALSE:

布尔值 FALSE

整型值 0(零)

浮点型值 0.0(零)

空缺字符串和字符串\"大众0\"大众

没有成员变量的数组

没有单元的工具(仅适用于 PHP 4)

分外类型 NULL(包括尚未设定的变量)

所有其它值都被认为是 TRUE(包括任何资源)。

4.5第一种分外类型—资源

资源(resource):资源是由专门的函数来建立和利用的,例如打开文件、数据连接、图形画布。
我们可以对资源进行操作(创建、利用和开释)。
任何资源,在不须要的时候该当被及时开释。
如果我们忘却了开释资源,系统自动启用垃圾回收机制,在页面实行完毕之后回收资源,以避免内存被花费殆尽。

<?php$file=fopen(\公众f.txt\"大众,\"大众r\公众); //打开文件$con=mysql_connect(\公众localhost\"大众,\"大众root\"大众,\公众root\"大众); //连接数据库$img=imagecreate(100,100);//图形画布?>

4.6PHP第二种分外类型—空类型

NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情形下变量被认为为NULL。

<?phperror_reporting(0); //禁止显示PHP警告提示$var; //为变量未赋值var_dump($var); //NULL$var1=null; //将null赋值给变量$var1var_dump($var1); //NULL$var2=NULL; //将NULL赋值给变量$var2var_dump( $var2); //NULL$var3 = \"大众节日快乐!
\公众;unset($var3); //将变量$var3注销定义var_dump($var3); //NULL?>

4.7第一种复合类型—数组

PHP 中的数组实际上是一个有序图。
图是一种把 values 映射到 keys 的类型。
此类型在很多方面做了优化,因此可以把它当成真正的数组来利用,或列表(矢量),散列表(是图的一种实现),字典,凑集,栈,行列步队以及更多可能性。
由于可以用另一个 PHP 数组作为值,也可以很随意马虎地仿照树。
本书将用一章先容数组的声明与利用,这里仅作简要解释。

PHP中可以利用多种办法构建一个数组,在这里我们只用array()措辞构造来新建一个array。
它接管一定数量用逗号分隔的 key => value 参数对。

语法构造: array( [key =>] value , ... )// key 可以是integer或者string类型// value 可以是任何值 <?php

4.8第二种复合类型—工具

在PHP中,工具和数组一样都是一种复合数据类型。
但工具是一种更高等的数据类型。
一个工具类型的变量,是由一组属性值和一组方法构成,个中属性表明工具的一种状态,方法常日用来表明工具的功能。
本书将用一章的内容来先容工具的利用,这里仅作简要的解释。
要初始化一个工具,用 new 语句将工具实例到一个变量中。

<?php超全局变量

php供应了很多预定义的变量,用于供应大量与环境有关的信息。

$_SERVER 做事器变量,该全局变量包含着做事器和客户端配置及当前要求环境的有关信息。

print_r ($_SERVER)

$_SERVER['SERVER_NAME']:当前运行脚本所在的做事器的主机名

$_SERVER['REMOTE_ADDR'] :客户端IP地址

$_SERVER['REQUEST_URI']:URL的路径部分

$_SERVER['HTTP_USER_AGENT'] :操作系统和浏览器的有关信息

$_GET 该变量包含利用GET方法通报的有关信息

$_POST 该变量包含利用POST方法通报的参数的有关信息。

$_REQUEST 该变量记录着通过各种输入方法通报给脚本的变量,如GET、POST,但不要用这个超级全局变量,由于它不屈安而且速率比较慢。

$_COOKIE cookie变量数组

$_SESSION 会话变量数组

$_FILES 与上传文件有关的变量数组

$_ENV 环境变量数组

$GLOBALS 所有全局变量数组

empty()函数

empty()函数是用来测试变量是否已经配置,判断值为否为空。

> 若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。
以是,当字符串的值为0时,也返回true,便是实行empty内部的语句。
这便是陷阱。
0为空。

如: 假设 $value = 0;

empty($value)=false

isset()函数

isset()函数 一样平常用来检测变量是否设置.若变量不存在则返回 FALSE。

若变量存在且其值为NULL,也返回 FALSE。
若变量存在且值不为NULL,则返回 TURE。

大略来说便是,有值返回true,没有值返回false,0不是空,0也是表示有值

利用 unset() 开释变量之后,它将不再是 isset()。

PHP函数isset()只能用于变量,通报任何其它参数都将造成解析缺点。

常量

什么是常量?

常量可以理解为值不变的量(如圆周率)。
或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。
php中的常量分为自定义常量和系统常量。

自定义常量是根据我们开拓的须要,而定义的常量,它通过利用PHP中的函数define()定义。

define()函数的语法格式为:

bool define(string $constant_name, mixed $value[, $case_sensitive = true])

它有3个参数:

第一个参数\"大众constant_name\"大众为必选参数,常量名称,即标志符,常量的命名规则与变量的同等,但是要把稳哦,它可不带美元符号哦。

第二个参数\公众value\"大众为必选参数,它是常量的值。

第三个参数\"大众case_sensitive\公众为可选参数,指定是否大小写敏感,设定为true表示不敏感,一样平常不指定第三个参数的情形下,默认第三个参数的值为false。

> (注: string表示参数类型为字符串类型,mixed表示参数类型可以接管为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)

(常日常量都全用大写)

//举个栗子,将圆周率定义为常量\"大众PI\"大众<?php$p = \"大众PII\"大众;

常量的浸染

常量紧张功效是可以避免重复定义,修改变量值。
在我们进行团队开拓时,或者代码量很大的时候,对付一些第一次定义后不改变的量,如果我们利用变量,在不知情的情形下,利用同一变量名时,变量值就会被更换掉,从而会引发做事器实行缺点的任务。

此外,利用常量还能提高代码的可掩护性。
如果由于某些缘故原由,常量的值须要变更时候,我们只须要修正一个地方。
例如在做打算中,起初我们取圆周率为3.14,于是很多打算中我们都利用3.14进行打算,当哀求打算精度提高,圆周率须要取3.142的时候,我们不得不修正所有利用3.14的代码,倘若代码量比较多时,不仅事情量大,还可能遗漏。

<?phpdefine(\"大众PI\"大众,3.14);系统常量

系统常量是php已经定义好的常量,我们可以直接拿来利用,常见的系统常量有:

__FILE__ :php程序文件名。
它可以帮助我们获取当前文件在做事器的物理位置。

__LINE__ :PHP程序文件行数。
它可以见告我们,当前代码在第几行。

PHP_VERSION:当前解析器的版本号。
它可以见告我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

PHP_OS:实行当前PHP版本的操作系统名称。
它可以见告我们做事器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

<?phpecho _FILE_;echo _LINE_;echo PHP_VERSION;echo PHP_OS;?>

常量如何取值

获取常量值的有两种方法取值。
第一种是利用常量名直接获取值;例如打算圆周率的面积,如下(\"大众\"大众是运算符,相称于乘号,后面部分的小节会先容):

<?phpdefine(\公众PI\公众,3.14);

第二种是利用constant()函数。
它和直策应用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在利用上要灵巧、方便,其语法格式如下:

mixed constant(string constant_name)

第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。
如果成功则返回常量的值,失落败则提示缺点信息常量没有被定义。
(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)

//举个栗子:

<?php$p=\"大众\"大众;//定义圆周率的两种取值define(\"大众PI1\公众,3.14);

如何判断常量是否被定义

如果常量被重复定义往后,PHP解析器会发出\"大众Constant XXX already defined\"大众的警告,提醒我们该常量已经被定义过。
那么,在团队开拓,或代码量很大的情形下,我们如何去剖断一个常量是否被定义呢?

defined()函数可以帮助我们判断一个常量是否已经定义,其语法格式为:

bool defined(string constants_name)

它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; (注:bool表示函数返回值类型为布尔类型)

<?php内置常量

PHP_OS php所在操作系统的名称

PHP_VERSION 当前的php的版本号

魔术常量(下面都是两个下划线额)

__LINE__ 文件中确当前行号

__FILE__ 文件的完全路径和文件名

__FUNCTION__ 函数名称

__CLASS__ 类的名称

__METHOD__ 类的方法名