目录
1.认识PHP代码标识
2.字符串
3.PHP语句结束符
4.变量名的命名规则
5.变量是什么
6.变量的数据类型
7.什么是常量
8.系统常量
9.常量如何取值
10.如何判定常量是否被定义
12.运算符
13.结构
首页 后端开发 php教程 PHP是世界上最好的语言

PHP是世界上最好的语言

Jun 23, 2016 pm 01:11 PM

1.认识PHP代码标识

想在页面中编写PHP​代码非常容易,如下面代码:

<?php echo "PHP是世界上最好的语言";?>
登录后复制

就像你可以编写JavaScript脚本语言需要写在标签之间一样,你可以在页面中编写PHP代码写在标签之间,但注意后面的?>是可以省略的。

也可以计算算式:

2.字符串

一个字符串是用双引号括起来的一个词或一个句字,比如:“Hi,jimo!”。你可以用PHP语言输出把这个字符串输出,像这样:

<?php echo "Hi,jimo!";?>
登录后复制

也可以用单引号括起来,就像下面代码:

<?php echo 'Hi,jimo!';?>
登录后复制

可以把两个字符用连接符连接起来,像这样:

<?php echo 'Hi,'.'jimo!';?>
登录后复制

注意:连接符可以连接多个字符串,上面的例子就是把一个字符串拆分为二个小字符串,然后用一个连接符连起来。

在php中字符串连接符是用点(.)来表示的,这一点比较特殊,其它语言中是用加号(+)来表示的,比如:JavaScirpt、Asp、Java。

3.PHP语句结束符

是不是已经注意在每一条PHP代码行结尾处都会有一个分号;。对的,这点注意,在PHP编程中需要在每条语句的末尾加入分号;。但要注意,分号;一定在半角状态下输入。
4.注释
在PHP中也有注释语句:用双斜杠(//)来表示。其它语言中,Html中使用,CSS中使用/*注释语句*/。如下面代码:

<?php//输出hi,jimo!echo "hi,jimo!";?>
登录后复制

注释语句可以在PHP程序的任意位置(但注释语句一定要写在之间)。

4.变量名的命名规则

变量名除了需要“$”进行标识外,还有一些规则需要遵守。就像拿到驾驶证以后,还得遵守交通规则。变量名的命名规则主要有三条:

1、变量名必须以字母或下划线 “_”开头,如”$_name”,”$name” ,”$name2”等,但是”$9name”是不对的。

2、变量名只能由字母、数字、以及“_”组成,还能包含汉字。如”$_qq”,”$qq308” ,”$my_apple”,“比如"$name我等”,但是”$name*”是不对的。

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

特别需要注意的是,在PHP中变量名是区分大小写的,如“$my_book”与“$my_Book”代表两个不同的变量。

5.变量是什么

PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为自动的数据类型,一定程度降低了学习PHP的门槛。

通过“var_dump”函数,输出数据类型:

<?php $string = "就是就是"; var_dump($string); echo "<br />"; $string = 9494; var_dump($string); echo "<br />";?>
登录后复制

在变量中,由于变量占用的空间单元不一样(占的地盘大小不一样),也分成几种数据类型,就像超市商品的包装袋,有几种不同类型,不同的商品使用不同的包装袋。我们可以通过使用“memory_get_usage”获取当前PHP消耗的内存。

<?phpecho $m1 = memory_get_usage();echo "<br />";$var_string = "123";echo $m2 = memory_get_usage()-$m1;echo "<br />"; $n = 123;echo $m3 = memory_get_usage()-$m1-$m2;echo "<br />"; $f = 123.00;echo $m4 = memory_get_usage()-$m1-$m2-$m3;echo "<br />"; $var_array = array("123");echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4;?>
登录后复制

6.变量的数据类型

在PHP中,支持8种原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。
1.标量类型—布尔类型
2.标量类型—整型
3.标量类型—浮点型
浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。科学计数法可以使用小写的e,也可以使用大写的E。

<?php$num_float = 1.234; //小数点 $num_float = 1.2e3; //科学计数法,小写e $num_float = 7.0E-10; //科学计数法,大写E ?>
登录后复制

4.标量类型—字符串(1)
字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性。

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

4.标量类型—字符串(2)
当你的字符串中包含引号的时候,我们怎么办?

<?php$str_string1 = '甲问:"寂寞长的帅吗?"';$str_string2 = "乙毫不犹豫地回答:'当然帅了!'";$str_string3 = '甲问:\'能告诉我有多帅吗?\'';//单引号嵌入单引号$str_string4 = "乙答道:\"帅爆了\"";echo $str_string1;echo "<br />";echo $str_string2;echo "<br />";echo $str_string3;echo "<br />";echo $str_string4;echo "<br />";?>
登录后复制

4.标量类型—字符串(3)
当引号遇到美元咋办?这里的美元可不是真正的美元,而是用美元符号标识的变量。
规则:
当双引号中包含变量时,变量会与双引号中的内容连接在一起;
当单引号中包含变量时,变量会被当做字符串输出。

<?php$love = "I love you!";$string1 = "寂寞,$love";$string2 = '寂寞,$love';echo $string1;echo "<br />";echo $string2;?>
登录后复制

4.标量类型—字符串(4)
当我的字符串很长怎么办?

我们可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。

<?php $string1 = <<<GOD我有一只小毛驴,我从来也不骑。有一天我心血来潮,骑着去赶集。我手里拿着小皮鞭,我心里正得意。不知怎么哗啦啦啦啦,我摔了一身泥.GOD;echo $string1;?>
登录后复制

注意:在结尾的一行,一定要另起一行,并且此行除了“GOD”,并以“;”号结束之外,不能有任何其他字符,前后都不能有,包括空格,否则会出现错误的哦。切记切记哦。

5.第一种特殊类型—资源
资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。

举例如下:

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

6.第二种特殊类型—空类型

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

例:

<?php  error_reporting(0); //禁止显示PHP警告提示 $var; var_dump($var); $var1 = null; var_dump($var1); $var2 = NULL; var_dump( $var2); $var3 = "节日快乐!"; unset($var3); var_dump($var3);?>
登录后复制

7.什么是常量

什么是常量?常量可以理解为值不变的量(如圆周率);或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。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”(通常常量都全用大写),取值为3.14:

<?php$p = "PII";define("PI",3.14);define($p,3.14);echo PI;echo "<br />";echo PII;?>
登录后复制

8.系统常量

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

(1)FILE :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。

(2)LINE :PHP程序文件行数。它可以告诉我们,当前代码在第几行。

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

(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

例:

<?phpecho __FILE__;echo "<br />";echo __LINE__;echo "<br />";echo PHP_VERSION;echo "<br />";echo PHP_OS;echo "<br />";?>
登录后复制

9.常量如何取值

定义了常量,那么就要使用常量,那么如何获取常量值呢?

获取常量值的有两种方法取值。
第一种是使用常量名直接获取值;例如计算圆周率的面积,如下:

<?phpdefine("PI",3.14);$r=1;$area = PI*$r*$r; //计算圆的面积?>
登录后复制

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

mixed constant(string constant_name)
登录后复制

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

例:

<?php $p="";//定义圆周率的两种取值define("PI1",3.14);define("PI2",3.142);//定义值的精度$height = "中";//根据精度返回常量名,将常量变成了一个可变的常量if($height == "中"){    $p = "PI1";}else if($height == "低"){    $p = "PI2";}$r=1;$area = constant($p)*$r*$r;echo $area;?>
登录后复制

10.如何判定常量是否被定义

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

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

bool defined(string constants_name)
登录后复制

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

例:

<?php define("PI1",3.14);$p = "PI1";$is1 = defined($p);$is2 = defined("PI2");var_dump($is1);var_dump($is2);?>
登录后复制

12.运算符

PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符。

1.算术运算符:+,-,*,/,%

2.赋值运算符有两种:

(1)“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。

(2)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。

例:

<?php $a = "我喜欢学习PHP!"; $b = $a; $c = &$a; $a = "我天天学习PHP!"; echo $b."<br />"; echo $c."<br />";?>
登录后复制

3.比较运算符
比较运算符主要是用于进行比较运算的,例如:等于、全等、不等、大于、小于。在PHP中常用的比较运算符如下表:

4.三元运算符
(“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。

5.逻辑运算符
逻辑运算符主用是进行逻辑运算的,例如:逻辑与、逻辑或、逻辑异或、逻辑非等,在PHP中常用的逻辑运算符如下表:

6.字符串连接运算符
字符串连接运算符是为了将两个字符串进行连接,PHP中提供的字符串连接运算符有:

(1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。

(2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。

例:

<?php $a = "寂寞"; $tip = $a."欢迎你"; $b = "东边日出西边雨"; $b .= ",道是无晴却有晴"; $c = "东边日出西边雨"; $c = $c.",道是无晴却有晴"; echo $tip."<br />"; echo $b."<br />"; echo $c."<br />";?>
登录后复制

7.错误控制运算符

PHP中提供了一个错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前该表达式可能产生的任何错误信息都被忽略掉

如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。

需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。

例:

<?php  ini_set('track_errors', 1);  $conn = @mysql_connect("localhost","username","password"); echo "出错了,错误原因是:".$php_errormsg;?>
登录后复制

13.结构

选择和循环结构和其他语言都差不多,不多介绍,只介绍不一样的:

循环结构之foreach循环语句

在PHP中foreach循环语句,常用于遍历数组,一般有两种使用方式:不取下标、取下标。

(1)只取值,不取下标

<?php foreach (数组 as 值){//执行的任务}?>
登录后复制

例:

<?php$students = array('2010'=>'令狐冲','2011'=>'林平之','2012'=>'曲洋','2013'=>'任盈盈','2014'=>'向问天','2015'=>'任我行','2016'=>'冲虚','2017'=>'方正','2018'=>'岳不群','2019'=>'宁中则',);//10个学生的学号和姓名,用数组存储//使用循环结构遍历数组,获取学号和姓名 foreach($students as $v){     echo $v;//输出(打印)姓名    echo "<br />";}?>
登录后复制

(2)同时取下标和值

<?phpforeach (数组 as 下标 => 值){ //执行的任务}?>
登录后复制

例:同上例:

foreach($students as $key => $v){     echo $key.":".$v;//输出(打印)学号:姓名    echo "<br />";}?>
登录后复制

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP记录:PHP日志分析的最佳实践 PHP记录:PHP日志分析的最佳实践 Mar 10, 2025 pm 02:32 PM

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

在Laravel中使用Flash会话数据 在Laravel中使用Flash会话数据 Mar 12, 2025 pm 05:08 PM

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

php中的卷曲:如何在REST API中使用PHP卷曲扩展 php中的卷曲:如何在REST API中使用PHP卷曲扩展 Mar 14, 2025 am 11:42 AM

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

简化的HTTP响应在Laravel测试中模拟了 简化的HTTP响应在Laravel测试中模拟了 Mar 12, 2025 pm 05:09 PM

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

在Codecanyon上的12个最佳PHP聊天脚本 在Codecanyon上的12个最佳PHP聊天脚本 Mar 13, 2025 pm 12:08 PM

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

解释PHP中晚期静态结合的概念。 解释PHP中晚期静态结合的概念。 Mar 21, 2025 pm 01:33 PM

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

自定义/扩展框架:如何添加自定义功能。 自定义/扩展框架:如何添加自定义功能。 Mar 28, 2025 pm 05:12 PM

本文讨论了将自定义功能添加到框架上,专注于理解体系结构,识别扩展点以及集成和调试的最佳实践。

See all articles