一、PHP是啥?能干啥?
PHP是后台服务员,专门处理网页里需要动态变化的内容,比如:
- 用户登录时核对账号密码
- 从数据库调取商品价格
- 生成“您最近浏览过的商品”列表
二、基础用法大全(表格对照)
1.变量:像贴了标签的快递盒
你所写的代码 | 比喻解释 | 实际效果 |
---|---|---|
$name = "张三"; | 给快递盒贴标签“名字=张三” | 存了一个文本 |
$age = 25; | 往盒子里塞数字25 | 存了一个整数 |
$price = 19.9; | 盒子里放小数 | 存了浮点数(带小数点) |
$is_login = true; | 盒子里装“是/否”开关 | 存了布尔值(真/假) |
2.数组:超市货架分层放东西
代码示例 | 货架比喻 | 作用说明 |
---|---|---|
$fruit = array("苹果", "香蕉"); | 第一层放苹果,第二层放香蕉 | 创建索引数组 |
$user = ["name"=>"李四", "age"=>30]; | 在货架贴标签:name层放李四,age层放30 | 创建关联数组(带键名) |
echo $fruit[0]; | 从货架第一层拿苹果 | 输出:苹果 |
echo $user["name"]; | 从货架第一层拿苹果 | 输出:李四 |
3.函数:流水线机器,塞原料出成品
代码案例 | 比喻说明 | 输入输出结果 |
---|---|---|
function add($a, $b){ return $a + $b; } | 造个加法机,左边进两个数字 | 输入2和3,吐出5 |
echo add(2,3); | 把2和3塞进机器 | 页面显示5 |
function sayHi($name){ echo "你好, $name!"; } | 做个打招呼机器,入口贴名字标签 | 输入“王五”,输出“你好, 王五!” |
4.表单处理:接用户填的表单数据
代码片段 | 实际场景模拟 | 注意事项 |
---|---|---|
<input type="text" name="username"> | 网页里让用户输入用户名 | 表单method必须是POST/GET |
$user = $_POST['username']; | PHP从快递员(表单)手里拿用户名 | 一定要先检查数据是否存在! |
echo "欢迎你:".$user; | 把用户名贴到欢迎语里显示 | 防止用户输入恶意代码(需过滤) |
三、新手必看防坑表
你遇到的错误 | 原因 | 解决方案 |
---|---|---|
Undefined variable $age | 用了没拆封的快递盒(未定义的变量) | 检查变量名拼写,确保先赋值 |
Parse error: syntax error | 中文标点混进代码里(比如用了全角逗号) | 所有符号切换为英文输入法 |
Cannot connect to MySQL | 数据库账号密码写错,或没启动服务 | 检查MySQL服务是否在运行 |
Undefined index 'username' | 表单没填就提交,PHP找不到这个快递 | 先用isset($_POST['username'])判断 |
四、总结:PHP基础三板斧
- 变量存数据:像整理快递柜,贴好标签别重复。
- 数组理清单:超市货架分层,找东西更快。
- 函数做工具:重复操作封装成流水线机器。
五、补充:PHP代码语法用法:像写菜谱一样写代码
PHP代码就像做菜步骤,必须按固定格式写,否则会“糊锅”(报错)。以下用表格拆解核心语法规则:
1.基础语法规则表
代码写法 | 比喻解释 | 示例&说明 |
---|---|---|
<?php ... ?> | 起止标记:告诉厨房这里开始做PHP菜 | <?php echo "开火!"; ?> |
$变量名 = 值; | 变量命名:快递盒名字必须带$符号 | $food = "红烧肉"; |
语句必须加分号 ; | 结束符:相当于菜谱每步结束要打钩 | 漏写会报错:Parse error |
// 单行注释 或 /* 多行 */ | 便利贴:写给程序员看的备注,不执行 | // 这行是腌制步骤 |
字符串拼接用 . | 胶水:把两个文本粘在一起 | echo "今天吃".$food; → 输出“今天吃红烧肉” |
2.常见符号用法表
符号 | 名称 | 作用比喻 | 代码案例 |
---|---|---|---|
$ | 美元符 | 变量身份证 | $age = 18;(正确)age = 18;(错误) |
{} | 大括号 | 代码包裹层 | if($is_hungry){ echo "干饭!"; } |
[] | 中括号 | 数组货架 | $colors = ["红", "蓝"]; |
=> | 胖箭头 | 数组标签贴 | $user = ["name" => "老王"]; |
-> | 瘦箭头 | 对象操作杆(面向对象用) | $user->getName(); |
3.代码块结构模板
场景 | 代码结构(比喻:菜谱框架) | 实际案例 |
---|---|---|
输出内容 | <?php echo "内容"; ?> | <?php echo "Hello World!"; ?> |
条件判断 | if(条件){...} else{...} | php if($money > 100){ echo "吃大餐"; } else { echo "泡面"; } |
循环遍历数组 | foreach($数组 as $单件){...} | php $fruits = ["苹果", "香蕉"];<br>foreach($fruits as $fruit){<br> echo $fruit; } |
连接数据库 | $conn = new mysqli(地址,用户名,密码,库名); | 需提前配置数据库信息 |
4.新手常见语法错误案例
错误代码 | 原因 | 改正方案 |
---|---|---|
echo "你好" | 没加分号,菜谱步骤没写完 | echo "你好"; |
$user = [name=>"张三"] | 键名没加引号,标签贴歪了 | $user = ["name"=>"张三"] |
if($age = 18){...} | 用了=(赋值)而不是==(判断相等) | if($age == 18){...} |
<? echo "Hi"; ?> | 短标签<?未开启(需改php.ini) | 统一用<?php更安全 |
一句话语法口诀
评论