当前位置:网站首页>php——三篇夯实根基第一篇
php——三篇夯实根基第一篇
2022-08-02 12:18:00 【m0_67400972】
目录
前言:
PHP中文名叫超文本预处理器,是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
一、基础语法
(一)语言标记
- 基本标记: <php //PHP代码; >
- 短标记:< //PHP代码; >
- 脚本标记:
- 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换行
- "
"浏览器显示换行,源代码显示- " "浏览器不显示换行,源代码显示换行
(六)'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 "常州加油
常州加油
常州加油"; //也表示换行,只是浏览器不显示换行,源代码显示换行。
?>


二、变量
(一)变量包含的三个内容
- 变量名
- 变量值(变化)
- 数据类型,变量值的类型
注: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
%$^%&%&%&%&^%##$#[email protected]#;''
<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>";//输出操作系统决定目录的分隔符/
?>

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
An example of type3 voltage loop compensator taking Boost as an example
PHP伪协议详解
According to the field classification Golang map array
Problem solving in the process of using mosquitto
技术分享| 融合调度系统中的电子围栏功能说明
unique in numpy & pandas
Crack detection technology based on deep learning
redis cluster cluster, the ultimate solution?
【第六届强网杯CTF-Wp】
The use of QListView
项目监控六大事项
SQL Server2019安装步骤及脱机安装Microsoft机器学习组件下一步不能继续的问题
Thymeleaf
力扣27-移除元素——简单题
Chapter 11 Documents
Seneor Exposure Basics
The ex-boyfriend bought chili water and threatened to rob his daughter. Can the woman apply for a personal safety protection order?
今日睡眠质量记录85分
Process finished with exit code 1
借小程序容器打造自有App小程序生态








