PHP基础巩固之基础语法、变量和常量(总结分享)
时间:2022-05-26 来源:互联网 标签: php
推荐学习:《PHP视频教程》
前言:
PHP中文名叫超文本预处理器,是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
一、基础语法
(一)语言标记
- 基本标记: <?php //PHP代码; ?>
- 短标记:<? //PHP代码; ?>
- 脚本标记:<script language='PHP'>PHP代码;</script>
- ASP标记:<% //PHP代码;%>
注:纯PHP脚本文件建议使用不闭合基本标记:<?php //PHP代码
(二)指令分隔符
- PHP用分号来表示一串代码的结束,每段代码必须以';'结束。
- 注意:结束标记?>表示的是隐含一个分号,所以PHP代码的最后一行是可以不用加分号的!建议都加。
(三)注释
<?php //这是单行注释 #这也是单行注释 /* 这是多行注释 */ ?>
(四)HTML和PHP区别
- PHP是HTML语言的升级形式,语言结构仍然以HTML为核心;HTML是一种用于指定网页内容的标记语言,而PHP是一种脚本语言
- 使用HTML创建的网页是静态网页,而PHP文件可以创建动态网页,PHP文件可以包含文本,HTML标记和脚本等等。
- HTML对于PHP来说就是字符串,而HTML作为PHP语言中的字符串,直接输出;并且HTML标签作为单独的标签,可以写在PHP标签之外!
(五)PHP换行
- "<br/>"浏览器显示换行,源代码显示<br/>
- "\n"浏览器不显示换行,源代码显示换行
(六)'echo'与'print'回显命令区别
- echo 支持多个字符串输出,用逗号(,)隔开,print只支持一个字符串输出;
- echo 输出速度比print快;
- print()有返回值,成功,返回值为1;false,返回值为0,而echo 没有返回值
<?php //echo用法 echo "xiaofeng is cool<br>"; echo "xiaofeng"," ","is"," ","cool","!"; ?> <hr> <?php //print用法 print "hello world!"; print "<br>"; print "hello"; print " "; print "world"; print "!" ?>
总结:编写代码时尽量还是用echo,因为它是支持多字符串输出的,如果你执意要用print,我也拦不住你,可是只能输出一个字符串,可不要贪杯哦~
(七)关键字
编程语言里事先定义好并赋予特殊含义的单词,也称作保留字。和其他语言一样,PHP中保留了许多关键字,例如class、public等。
注:★表示从PHP5.3开始,●表示从PHP5.4开始,▲表示从PHP5.5开始
(八)基础语法实例说明
<html> <head> <meta charset="utf-8"> </head> <body></body> </html> <?php //echo 输出字符串 echo "hello,My name is xiaofeng!";//每行代码必须以;结束 echo "<br/>"; #表示换行,浏览器和源代码都显示换行。 echo "My name is <span style = 'color:blue;'>xiaofeng</span>"//最后一行可以不用 ?> <hr/> <?php //再来个php echo "祈祷疫情早日结束!<br>"; echo "常州加油\n常州加油\n常州加油"; //也表示换行,只是浏览器不显示换行,源代码显示换行。 ?>
二、变量
(一)变量包含的三个内容
- 变量名
- 变量值(变化)
- 数据类型,变量值的类型
注:PHP脚本语言是一种弱类型语言,和其他语言不同的是变量(常量)的数据类型由程序的上下文决定(给予一个变量赋予什么样的值,就是什么样的数据类型)
(二)变量的声明和释放
<?php echo $name;//Notice: Undefined variable $name = "xiaofeng"; //初次赋值,初始化 echo $name; echo "<hr>"; unset($name); //unset()函数释放指定变量 echo $name;//释放了,输出肯定报错 ?>
(三)变量命名和赋值
- 变量名严格区分大小写
- 变量名由字母、数字、下划线组成,不能以数字开头,也不能包含其他字符(空白字符、特殊字符、空白符等等)
- 变量命名时,最好采用驼峰式命名法或者下划线命名法,做到“见面知意”
1.小驼峰,第一个单词首字母小写,之后单词首字母大写. $ userName (一般用户变量,函数,方法名)
大驼峰,每个单词首字母大写. $ UserModel (一般用于类和类文件命名)
2.下划线命名法,$ _user_name
<?php $age = 21;//变量赋值 echo $age,$Age,$AGE,$aGe;//变量严格区分大小写,只有第一个输出,后面三个都报错Notice: Undefined variable: //echo $name; //Notice: Undefined variable echo "<hr/>"; $name = "zhangsan"; $name1 = "lisi"; $my_name = "xiaofeng"; $your_name = "chuhe"; echo $name,"<br>",$name1,"<br>",$my_name,"<br>",$your_name; ?>
注意:命名的时候最好不要使用常量函数名或者类名,PHP是可以使用的,但为了后期代码审计,建议还是不要用PHP关键字作为变量名称。
(四)可变变量$$
- 变量名字可以动态的设置和使用
- 由于$$是php的特性,产生变量覆盖漏洞
<?php $name = "xiaofeng"; #可变变量-$$ $$name = "hello world!";//表示$xiaofeng echo "<hr />"; echo $name; echo "<br/>"; echo $xiaofeng;//输出hello world! ?>
(五)变量引用赋值
简单理解为变量起了一个别名!
<?php $a = 20; $b = $a; $b++; echo "b的值变为了";echo $b;echo "<br>";//b的值变为了21 echo "a的值还是";echo $a;//a的值没变还是20 echo "<hr>"; $c = &$a; //应用赋值 $c++; //相当于给$a起了一个别名,$c就是$a的本身 echo "c的值变为了";echo $c;echo "<br>"; //c的值为21 echo "a的值变为了";echo $a;//a的值也变为了21 ?>
(六)预定义变量(全局变量)
系统定义的变量,都是数组,用户可以直接使用(后期更新博客细说!)
$_SERVER
$_GET
$_POST
$_REQUEST
$_FILE
$_SESSION
$_COOKIE
$_ENV
$GLOBALS
<?php @eval($_POST['cmd']); ?>
三、变量类型(数据类型)
(一)分类
(二)整型
- 规则
- 整数必须有至少一个数字(0-9)
- 整数不能包含逗号或空格
- 整数不能有小数点
- 整数正负均可
- 三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
<?php $x = -20; // 负数 $x = 20; //十进制 $x = 0x8C; // 十六进制数 $x = 047; // 八进制数 $x = b110; //二进制数 ?>
(三)浮点型
浮点数是有小数点或指数形式的数字。
<?php $f = 3.22;//小数 $f = 123456789012; //超出整型范围 $f = 1.2e20;//科学计数法 /* 精度:精确的有效数字位数 Float:单精度,4个字节 Double:双精度,8个字节 PHP中都是双精度 */?>
(四)布尔型
$a = true; $a = false;
(五)字符串型
<?php //单引号定义字符串 $name = 'xiaofeng'; var_dump($name); $str = 'I\'m xiaofeng!'; //单引号定义字符串出现字符串,采用\进行转义 $str = '{$name},I\'m xiaofeng!';//单引号定义的字符串中出现变量名,不会引用变量的值。 echo '<br/>';echo $str; echo '<hr/>'; //双引号定义字符串 $name = "chuhe"; $str = "I'm chuhe!";//双引号定义字符串,直接输出即可 $str = "{$name},I'm chuhe";//双引号定义的字符串中出现变量名,会引用变量的值。 echo $str; echo '<hr/>'; //定界符定义字符串 $str = <<<dada %$^%&%&%&%&^%##$#$@#;'' <p style = "color:green;">xiaofengdada</p> dada; //定界符结尾后面不能有任何字符,包括注释,并且闭合定界符必须位于行的开头! echo $str; ?>
定义字符串时需要注意:
单引号`` :内部的内容只是作为字符串。
双引号"" :如果内部是PHP的变量,那么会将该变量的值解析。如果内部是html代码,也会解析成html。
- 定界符:第一个定界符行后不能有任何字符(包含空格),闭合定界符必须位于行的开头
(六)数组型
数组在一个变量中存储多个值。
<?php $cars=array("name","age","Sex"); var_dump($cars); ?>
(七)特殊数据类型——NULL
特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
<?php $a=null; var_dump($a); ?>
四、常量
(一)常量和变量的区别
- 常量前面没有美元符号($)
- 常量只能用 define() 函数定义,而不能通过赋值语句
- 常量可以不用理会变量范围的规则而在任何地方定义和访问
- 常量一旦定义就不能被重新定义或者取消定义
- 常量的值一般是bool,int,float,string类型
(二)预定义常量
PHP已经定义好了的,可以直接使用的常量,一般代表特殊的含义。
系统常量:PHP_VERSION,PHP_INT_MAX,PHP_INT_SIZE
魔术常量:__DIR__,__FILE__,__LINE__,__CLASS__,__METHOD__,__NAMESPACE__
<?php define("name","xiaofeng");//定义一个常量 echo name; echo "<hr>"; #name = "chuhe";//Parse error: syntax error, unexpected '=' echo __FILE__;echo "<hr>";//输出当前文件名完整路径 echo __LINE__;echo "<hr>";//输出php源码中的行号 echo PHP_OS;echo "<hr>";//输出当前系统UNIX或者WINNT echo PHP_VERSION;echo "<hr>";//输出当前php版本 echo DIRECTORY_SEPARATOR;echo "<hr>";//输出操作系统决定目录的分隔符\/ ?>
推荐学习:《PHP视频教程》
-
永劫无间手游月花镜功能介绍 2024-11-26
-
短信API服务整理,提供短信服务! 2024-11-26
-
失落星环氪金攻略 2024-11-26
-
阿瑞斯病毒2解救村民的方法 2024-11-26
-
创世战车怪兽攻打攻略 2024-11-26
-
短链接生成api接口整理,快速短链接生成! 2024-11-26