PHP基础-语法&变量

发布于:2025-06-13 ⋅ 阅读:(50) ⋅ 点赞:(0)
什么是 PHP?

PHP(Hypertext Preprocessor)是一种广泛使用的 开源服务器端脚本语言,专为Web 开发设计。

  • 最初是 Personal Home Page 的缩写,后来演变为递归缩写:PHP: Hypertext Preprocessor

  • 可以嵌入 HTML 中执行,生成动态网页内容。

  • 代码在服务器上运行,返回的是纯 HTML 给用户浏览器。

PHP 最核心的用途是开发服务器端的 Web 应用程序,即用户访问网站时,在服务器上处理业务逻辑、数据库、接口等。

PHP 的特点
特性 说明
脚本语言 不需要编译,解释执行,开发效率高
嵌入 HTML 可以直接嵌在 HTML 页面中使用
跨平台 支持 Windows、Linux、macOS 等平台
与数据库结合紧密 内置支持 MySQL、PostgreSQL、SQLite 等数据库
支持面向对象 从 PHP5 开始引入完善的 OOP 特性
有丰富的生态 拥有 Laravel、Symfony、ThinkPHP 等众多框架
社区庞大 海量教程、资源,问题解决方便
环境准备

学习环境我们这边就选择直接使用Kali Linux 自带的环境进行学习就够用了。Kali Linux镜像下载地址:

夸克网盘「Kali Linux 」 链接:夸克网盘分享

自行创建并开启Kali Linux 虚拟机后,切换到管理员权限,命令如下:

sudo su

接着开启Kali 中自带的Apache服务:

systemctl start apache2.service  #启动apache服务
systemctl enable apache2.service    #apache服务开机自启动(可选)

在开启服务后,我们可以使用如下命令查看服务是否正常运行:

systemctl status apache2.service
cd /var/www/html/

命令输出上述内容时表示服务正常运行。这个时候我们就可以进入网站根目录,该目录就是我们学习PHP的工作目录。

php语法
基础 PHP 语法

PHP 脚本以 <?php 开头,以 ?> 结尾:

<?php // 此处是 PHP 代码 ?>
​
<?php
// 此处是 PHP 代码
?>

PHP 脚本可放置于文档中的任何位置,文件扩展名是 ".php"。PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。(注意: html js css可以写在php文件里运行,但php不能写在html js css文件里运行。)

接下来我们就来写一张PHP页面(在学习PHP的过程中不可避免地需要用到一些Html、CSS或者JS的知识,这些内容笔者在前面的文章已经有进行一个比较详细的描述,大致过一遍即可。)

在Kali中我们使用vim命令创建我们的第一个.php程序。

vim hello.php

并将如下代码敲入文件中,值得注意的是PHP 语句以分号结尾(;),建议学习过程中养成良好的编码规范。

<!DOCTYPE html>
<html>
<body>
​
<h1>我的第一张 PHP 页面</h1>
​
<?php
echo "Hello maoshu!"; 
?>
​
</body>
</html>

接着使用ifconfig命令查看当前kali Linux 的IP地址。

接着在浏览器中进行访问即可;路径为http://IP地址/{文件路径}/文件名。(如果是在Kali Linux中进行访问,则IP地址使用127.0.0.1即可)

输出方法:echo 和 print

不同点:

  • echo - 能够输出一个以上的字符串,英文逗号隔开

  • print - 只能输出一个字符串,并始终返回 1

  • echo 比 print 稍快,并且开销低

<!DOCTYPE html>
<html>
<body>
​
<h2>echo OR print</h2>
​
<?php
    echo "<h2>风铃123!</h2>";
    echo "Hello world!<br>";
    echo "风铃", " string", 1, " 2 ";   #使用逗号“,”作为分隔符
?>
​
</body>
</html>

print的特点
<!DOCTYPE html>
<html>
<body>
​
<h2>echo OR print</h2>
​
<?php
    echo print "<h2>风铃123!</h2>";
?>
​
</body>
</html

第一行是 <h2>风铃123!</h2> 被解释成了标题。

第二个是 1 —— 这是因为 print 返回了 1,然后 echo 把它输出了。

注释

注释不会被作为程序来读取和执行。它唯一的作用是供代码编辑者阅读(让别人阅读明白,提醒自己做过什么,特别是一些函数方法的用途等)

<?php
// 这是单行注释
​
# 这也是单行注释
​
/*
这是多行注释块
它横跨了
多行
随意换行没问题
echo '风铃';
*/
?>

变量

变量是存储信息的容器,有点类似初中数学里的代数 x=1,y=2

$a=5;
$_a = 5;
$b=6;
$c=$a+$b;
echo $c;

=号并不是真实的等号,而是叫赋值

变量命名规则
  • 变量以 $ 符号开头,其后是变量的名称

  • 变量名称必须以字母或下划线开头

  • 变量名称不能以数字开头,不能有空格

  • 变量名称只能包含字母 数字 字符和 下划线(A-z、0-9 以及 _)

  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

注释:PHP 变量名称对大小写敏感!

推荐的几种命名方法:

  • 下划线命名法 $first_name = 'zhang';

  • 小驼峰命名法 $firstName = 'zhang';

  • 大驼峰命名法 $FirstName = 'zhang';

$txt="Hello world!";
$a=5;
$b=8.5;

不必告知 PHP 变量的数据类型,php会根据它的值,自动把变量转换为正确的数据类型,变量也有作用域之分,等到后面函数的时候再说。

空白符
<!DOCTYPE html>
<html>
<body>
​
<h2>Hello PHP</h2>
​
<?php
echo 'wolven
​
你在干什么
​
?
​
';
?>
​
</body>
</html>

浏览器默认不会渲染换行符 \n,所以实际输出为:

Hello PHP
wolven 你在干什么 ?

如果你想要在页面中保留换行格式,用 <br> 标签手动换行:

<!DOCTYPE html>
<html>
<body>
​
<h2>Hello PHP</h2>
​
<?php
echo 'wolven
<br>
你在干什么
<br>
?
<br>
';
?>
​
</body>
</html>

大小写敏感

所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感(这可以作为我们在渗透时绕过一些程序检测的依据) 但是所有变量都对大小写敏感,看如下例子:

ECHO "Hello Wolven!<br>";
echo "Hello Wolven!<br>";
​
EcHo "Hello Wolven!<br>";
PRint "Hello Wolven!<br>";

输出:

可以看到不关echo和print大小写如何变化,都能够成功输出后面的字符串。

$color="red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";

可以看到变量$COLOR并不会输出内容,因为在PHP解释器眼中$color$COLOR是不一样的变量。

命令行的使用

PHP语言可以像python一样在命令行里运行php代码

例子:可以获取用户输入的内容

$input = readline("请输入内容:"); 
echo "您输入的内容是: " . $input;

echo "请输入内容:"; 
$input = fgets(STDIN); 
echo "您输入的内容是: " . $input;

数据类型
字符串、整数、浮点数、逻辑(布尔型)、数组、NULL、资源类型

用var_dump() 会返回变量的数据类型和值,一般用于开发调试时使用,只获取数据类型 echo gettype($a);

字符串

字符串是字符序列,比如 "Hello world!",字符串可以是引号内的任何文本,可以使用单引号或双引号。

<!DOCTYPE html>
<html>
<body>
​
<h2>Hello php</h2>
​
<?php
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
var_dump($x);
?>
​
</body>
</html>

单引号和双引号的区别

双引号:会解析变量。

单引号:不会解析变量,变量会被当作普通字符串输出。

<?php 
$name = "风铃";
​
echo "你好,$name\n";   // 输出:你好,风铃(变量被解析)
echo '你好,$name\n';   // 输出:你好,$name\n(纯文本)
?>

整数

和数学里的整数有些区别

  • 整数必须有至少一个数字(0-9)

  • 整数不能包含逗号或空格

  • 整数不能有小数点

  • 整数正负均可

  • 可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)

$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);

浮点数

浮点数是有小数点或指数形式的数字

$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);

逻辑(布尔值)
$x=true;
$y=false;
数组

在一个变量中存储多个值,分为一维数组和多维数组,后面会针对数组专门写一篇内容。

$cars=array("Volvo","BMW","SAAB");
$_cars=["Volvo","BMW","SAAB"];
var_dump($cars);
var_dump($_cars);

Null

特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值 注意:可以通过设置变量值为 NULL 来清空变量数据

$x="Hello world!"; 
var_dump($x);
​
$x=null; 
var_dump($x);

结束语

总结而言,掌握 PHP 的基础语法是迈入后端开发的重要一步。希望本文能为你的学习之路打下坚实的基础。后续我们将继续深入探讨 PHP 的函数、面向对象、数据库操作等内容,敬请期待!


网站公告

今日签到

点亮在社区的每一天
去签到