当前位置: 首页 > 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 的函数、面向对象、数据库操作等内容,敬请期待!

http://www.xdnf.cn/news/974701.html

相关文章:

  • LVS 负载均衡详解:四层转发原理与三种经典模式全面解析
  • 谈文件系统
  • Vue 中的数据代理机制
  • 中兴B860AV1.1_MSO9280_降级后开ADB-免刷机破解教程(非刷机)
  • Java面试题019:一文深入了解微服务之负载均衡Ribbon
  • Wireshark 筛选功能详解:语法与示例
  • 一些学习网站分享
  • OctoPrint公网部署如何实现?3D打印远程控制一键部署过程!
  • 《零基础读懂新能源汽车》——V2G/电池梯次利用/氢能源生态级技术拆解与商业预言
  • 智能体商业化:创建-接入-封装成小程序/网站/H5
  • PHP7+MySQL5.6 雪里开简易预约制访客管理系统V1.0
  • 深度解读云防火墙(WAF):守护网络安全的智能卫士
  • 在当系统未连接上wifi的时候,直接不显示wifi列表 ,这个判断导致?
  • UI 设计|审美积累|新拟态风格(Neumorphism)
  • 【华为Pura80系列】鸿蒙生态再升级:Pura 80 系列影像突破,WATCH 5 开启智能手表新纪元
  • 2025 年 MQTT 技术趋势:驱动 AI 与物联网未来发展的关键动力
  • 理解什么是并查集
  • 阿糖胞苷联合伊达比星为代表的强化治疗方案引领AML多阶段治疗新进展
  • 学习threejs,使用TSL计算粒子鼠标特效
  • Maven 构建性能优化深度剖析:原理、策略与实践
  • 目标检测yolo算法
  • AI赋能Automa二次开发
  • 超市售货管理平台小程序
  • 2025年渗透测试面试题总结-长亭科技[实习]安全服务工程师题目+回答)
  • 板凳-------Mysql cookbook学习 (十--5)
  • 仓库物资出入库管理系统源码+uniapp小程序
  • 云计算迁移策略:分步框架与优势
  • 实战案例-FPGA如何实现JESD204B最小确定性延迟
  • 【WSL2】Windows11开启WSL2
  • Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具