当前位置: 首页 > news >正文

PHP基础-语法变量

什么是 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>
​
<?phpecho "<h2>风铃123!</h2>";echo "Hello world!<br>";echo "风铃", " string", 1, " 2 ";   #使用逗号“,”作为分隔符
?>
​
</body>
</html>

print的特点
<!DOCTYPE html>
<html>
<body>
​
<h2>echo OR print</h2>
​
<?phpecho 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 的函数、面向对象、数据库操作等内容,敬请期待!

相关文章:

  • MVVM 分层思想详解
  • Python自动化测试数据驱动解决数据错误
  • 超级神冈探测器2025.6.11
  • 2025年- H81-Lc189--279.完全平方数(动态规划)--Java版
  • 学习日记-day27-6.11
  • leetcode_283.移动零
  • 选择与方法(4) 职场内篇 沿着赤道走,到不了北极,找准职场方向,建立可迁移技能
  • 各项目变更频繁时,如何保持整体稳定
  • 技术研究 | 一种检测大模型是否泄露训练数据的新方法
  • 【AI大模型入门指南】概念与专有名词详解 (一)
  • 雷卯针对易百纳EB-SS528-DC-175开发板防雷防静电方案
  • AI视频生成API:一站式视频生成解决方案
  • Java 语言特性(面试系列4)
  • 从0到1落地一个RAG智能客服系统
  • 加性同态加密的原理与函数解析
  • 运维之十个问题篇--3
  • PTA天梯赛L1 041-050题目解析
  • 239. 滑动窗口的最大值
  • C语言:指针进阶(下)
  • 从代码学习深度学习 - 全局向量的词嵌入(GloVe)PyTorch版
  • 建网站用html/哪有培训seo
  • 高唐做网站建设的公司/湖南seo优化报价
  • 浙江台州做网站的公司有哪些/关键词优化公司推荐
  • 网站站内logo怎么做/搜索引擎营销的四种方式
  • 给人做设计的网站/网站推广方案模板
  • 极速网站建设定制费用/竞价推广哪里开户