1、什么是PHP?
PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,特别适用于Web开发。与客户端语言JavaScript不同,PHP代码在服务器端执行,将处理结果以纯HTML形式返回给浏览器。
PHP的核心特点:
-
服务器端执行
-
开源免费
-
跨平台支持
-
语法简单易学
-
与HTML无缝集成
在学习PHP之前,建议先掌握HTML和CSS基础知识,这将有助于更好地理解PHP在Web开发中的作用。
2、安装与开发环境搭建
集成开发环境推荐
服务器组件包:
-
XAMPP:跨平台解决方案,包含Apache、MySQL、PHP和Perl
-
WampServer:Windows平台的经典选择
-
phpStudy:国产化界面,适合中文用户
专业IDE:
-
PhpStorm:功能最强大的PHP IDE
-
VS Code:轻量级但功能丰富的编辑器
-
Eclipse for PHP:免费的专业IDE
数据库管理工具:
-
Navicat for MySQL:直观的图形化管理界面
-
phpMyAdmin:基于Web的MySQL管理工具
快速上手建议
对于初学者,推荐使用XAMPP,它提供了完整的PHP开发环境,安装简单,一键启动Apache和MySQL服务。
3、PHP基础语法
基本语法结构
PHP代码必须包含在<?php
和?>
标签内:
<!DOCTYPE html>
<html>
<body>
<h1>我的第一个PHP页面</h1>
<?php
echo "Hello World!";
$txt1 = "学习 PHP";
$txt2 = "RUNOOB.COM";
$cars = array("Volvo", "BMW", "Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>
</body>
</html>
变量与输出
变量规则:
-
变量名以
$
符号开头 -
大小写敏感
-
支持下划线和驼峰命名法
输出函数对比:
-
echo
:可输出多个字符串,无返回值,速度更快 -
print
:只能输出一个字符串,返回值为1 -
print_r()
:适合调试,能清晰显示数组结构 -
var_dump()
:显示变量类型和值的详细信息
数据类型
PHP支持8种基本数据类型:
-
String(字符串)
-
Integer(整型)
-
Float(浮点型)
-
Boolean(布尔型)
-
Array(数组)
-
Object(对象)
-
NULL(空值)
-
Resource(资源类型)
使用gettype()
函数可以获取变量的数据类型。
Here文档语法
Here文档提供了一种定义多行字符串的优雅方式,特别适合包含HTML代码的场景:
<?php
$name = "张三";
echo <<<EOF
<h1>欢迎来到我的网站</h1>
<p>用户姓名:$name</p>
<p>这是一个多行字符串示例</p>
<p>可以包含HTML标签和PHP变量</p>
EOF;
?>
注意事项:
-
结束标识符必须独占一行
-
结束标识符前后不能有空格
-
支持变量解析和转义字符
Nowdoc语法(类似单引号字符串):
echo <<<'EOF'
这里的$name不会被解析
EOF;
4、运算符详解
算术运算符
$a = 10;
$b = 3;
echo $a + $b; // 加法:13
echo $a - $b; // 减法:7
echo $a * $b; // 乘法:30
echo $a / $b; // 除法:3.333...
echo $a % $b; // 取余:1
echo intdiv($a, $b); // 整除:3
赋值运算符
$x = 10;
$x += 5; // 等同于 $x = $x + 5
$x -= 3; // 等同于 $x = $x - 3
$x *= 2; // 等同于 $x = $x * 2
比较运算符
$a = 5;
$b = "5";
var_dump($a == $b); // true(值相等)
var_dump($a === $b); // false(类型不同)
var_dump($a != $b); // false
var_dump($a !== $b); // true(类型不同)
逻辑运算符
$x = true;
$y = false;
var_dump($x && $y); // false(与)
var_dump($x || $y); // true(或)
var_dump(!$x); // false(非)
特殊运算符
#三元运算符:
$age = 20;
$status = ($age >= 18) ? "成年人" : "未成年人";
#空合并运算符(PHP 7+):
$username = $_GET['name'] ?? "游客";
// 如果 $_GET['name'] 不存在或为null,则使用 "游客"
5、条件语句
if语句的四种形式
// 1. 简单if
if ($score >= 60) {
echo "及格了!";
}
// 2. if-else
if ($age >= 18) {
echo "可以投票";
} else {
echo "不能投票";
}
// 3. if-elseif
if ($score >= 90) {
echo "优秀";
} elseif ($score >= 80) {
echo "良好";
} elseif ($score >= 60) {
echo "及格";
} else {
echo "不及格";
}
// 4. switch语句
switch ($day) {
case 1:
echo "星期一";
break;
case 2:
echo "星期二";
break;
default:
echo "其他日期";
}
6、循环结构
for循环
// 输出1到10
for ($i = 1; $i <= 10; $i++) {
echo "数字:$i<br>";
}
while循环
$count = 1;
while ($count <= 5) {
echo "第 $count 次循环<br>";
$count++;
}
do-while循环
$num = 1;
do {
echo "执行第 $num 次<br>";
$num++;
} while ($num <= 3);
循环控制
-
continue
:跳过当前循环,进入下一次循环 -
break
:完全跳出循环
7、数组操作详解
数值数组
// 创建数值数组
$fruits = array("苹果", "香蕉", "橙子");
// 或者使用短语法(PHP 5.4+)
$colors = ["红色", "绿色", "蓝色"];
// 访问数组元素
echo $fruits[0]; // 输出:苹果
echo count($fruits); // 输出数组长度:3
关联数组
// 创建关联数组
$person = [
"name" => "张三",
"age" => 25,
"city" => "北京"
];
// 访问关联数组
echo $person["name"]; // 输出:张三
多维数组
$students = [
["张三", 85, "男"],
["李四", 92, "女"],
["王五", 78, "男"]
];
// 访问多维数组
echo $students[0][0]; // 输出:张三
echo $students[1][1]; // 输出:92
数组遍历
使用for循环(仅适用于数值数组):
$numbers = [1, 2, 3, 4, 5];
for ($i = 0; $i < count($numbers); $i++) {
echo $numbers[$i] . "<br>";
}
使用foreach循环(推荐):
// 遍历数值数组
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}
// 遍历关联数组
foreach ($person as $key => $value) {
echo "$key: $value<br>";
}
常用数组函数
$arr = [1, 2, 3];
// 检查数组大小
echo count($arr); // 3
echo sizeof($arr); // 3(count的别名)
// 检查元素是否存在
if (array_key_exists("name", $person)) {
echo "name键存在";
}
// 判断变量
if (isset($person["age"])) {
echo "age已设置";
}
if (empty($person["phone"])) {
echo "phone为空";
}
8、总结
本文详细介绍了PHP的基础知识:从环境搭建到基本语法,从变量操作到数组处理。这些知识为后续学习PHP的高级特性打下了坚实基础。
学习要点回顾:
-
PHP是服务器端脚本语言,与HTML完美结合
-
推荐使用XAMPP等集成环境快速开始开发
-
掌握变量、运算符、条件语句和循环结构的使用
-
理解数组的创建、访问和遍历方法
-
熟练使用foreach循环处理各种数组类型
下一篇文章,我将深入探讨PHP的函数、面向对象编程等高级话题。继续关注,让我们一起深入PHP的精彩世界!