快速上手
概述
现在您的环境已经设置完成,让我们编写您的第一个PHP脚本并了解PHP如何工作的基本原理。本章将让您通过实际示例立即开始编程。
您的第一个PHP脚本
Hello World
创建一个名为hello.php的文件:
php
<?php
echo "Hello, World!";
?>运行它:
bash
php hello.php输出:
Hello, World!HTML中的PHP
创建hello_web.php:
php
<!DOCTYPE html>
<html>
<head>
<title>我的第一个PHP页面</title>
</head>
<body>
<h1><?php echo "欢迎使用PHP!"; ?></h1>
<p>今天是 <?php echo date('Y-m-d H:i:s'); ?></p>
</body>
</html>使用内置服务器运行:
bash
php -S localhost:8000访问http://localhost:8000/hello_web.php
PHP标签
标准标签(推荐)
php
<?php
// 您的PHP代码在这里
?>短标签(不推荐)
php
<?
// 避免使用短标签
?>Echo标签(PHP 5.4+)
php
<h1><?= "Hello, World!" ?></h1>
<!-- 等价于: -->
<h1><?php echo "Hello, World!"; ?></h1>基本语法规则
语句和分号
php
<?php
echo "第一个语句"; // 需要分号
echo "第二个语句"; // 需要分号
?>大小写敏感性
php
<?php
// 变量区分大小写
$name = "John";
$Name = "Jane"; // 不同的变量
// 函数不区分大小写
echo "Hello"; // 可以工作
ECHO "Hello"; // 也可以工作
Echo "Hello"; // 也可以工作
?>注释
php
<?php
// 单行注释
# 另一种单行注释
/*
多行注释
可以跨越多行
*/
/**
* 文档注释
* 用于生成文档
*/
?>变量和基本数据类型
变量
php
<?php
$message = "Hello, PHP!";
$number = 42;
$price = 19.99;
$isActive = true;
echo $message;
echo $number;
?>变量规则
- 必须以
$符号开头 - 名称必须以字母或下划线开头
- 可以包含字母、数字和下划线
- 区分大小写
php
<?php
$validName = "OK";
$_validName = "OK";
$valid_name = "OK";
$validName2 = "OK";
// 无效名称:
// $2invalid = "Error"; // 不能以数字开头
// $invalid-name = "Error"; // 不能包含连字符
?>字符串操作
字符串创建
php
<?php
$singleQuoted = 'Hello, World!';
$doubleQuoted = "Hello, World!";
// 变量插值(仅在双引号中)
$name = "Alice";
$greeting = "Hello, $name!"; // "Hello, Alice!"
$greeting2 = 'Hello, $name!'; // "Hello, $name!"(字面量)
?>字符串连接
php
<?php
$firstName = "John";
$lastName = "Doe";
// 使用点运算符
$fullName = $firstName . " " . $lastName;
// 使用双引号
$fullName = "$firstName $lastName";
echo $fullName; // "John Doe"
?>常用字符串函数
php
<?php
$text = "Hello, World!";
echo strlen($text); // 13(长度)
echo strtoupper($text); // "HELLO, WORLD!"
echo strtolower($text); // "hello, world!"
echo substr($text, 0, 5); // "Hello"
echo str_replace("World", "PHP", $text); // "Hello, PHP!"
?>数字操作
基本算术
php
<?php
$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 $a ** $b; // 1000(乘方,PHP 5.6+)
?>数字函数
php
<?php
$number = 3.7;
echo round($number); // 4
echo floor($number); // 3
echo ceil($number); // 4
echo abs(-5); // 5
echo max(1, 5, 3); // 5
echo min(1, 5, 3); // 1
echo rand(1, 10); // 1到9之间的随机数
?>数组(快速介绍)
索引数组
php
<?php
$fruits = array("apple", "banana", "orange");
// 或者使用短语法(PHP 5.4+)
$fruits = ["apple", "banana", "orange"];
echo $fruits[0]; // "apple"
echo $fruits[1]; // "banana"
?>关联数组
php
<?php
$person = [
"name" => "张三",
"age" => 30,
"city" => "北京"
];
echo $person["name"]; // "张三"
echo $person["age"]; // 30
?>控制结构(快速预览)
If语句
php
<?php
$age = 18;
if ($age >= 18) {
echo "您是成年人";
} else {
echo "您是未成年人";
}
?>循环
php
<?php
// For循环
for ($i = 1; $i <= 5; $i++) {
echo "数字: $i\n";
}
// Foreach循环
$colors = ["红色", "绿色", "蓝色"];
foreach ($colors as $color) {
echo "颜色: $color\n";
}
?>函数(快速预览)
内置函数
php
<?php
echo date("Y-m-d"); // 当前日期
echo time(); // 当前时间戳
echo phpversion(); // PHP版本
echo gettype($variable); // 变量类型
?>自定义函数
php
<?php
function greet($name) {
return "Hello, " . $name . "!";
}
echo greet("Alice"); // "Hello, Alice!"
?>实践示例
简单计算器
php
<?php
function calculate($num1, $num2, $operation) {
switch ($operation) {
case '+':
return $num1 + $num2;
case '-':
return $num1 - $num2;
case '*':
return $num1 * $num2;
case '/':
return $num2 != 0 ? $num1 / $num2 : "错误:除数为零";
default:
return "错误:无效操作";
}
}
echo calculate(10, 5, '+'); // 15
echo calculate(10, 5, '/'); // 2
?>动态网页
php
<!DOCTYPE html>
<html>
<head>
<title>动态页面</title>
</head>
<body>
<h1>欢迎!</h1>
<?php
$currentHour = date('H');
if ($currentHour < 12) {
$greeting = "早上好!";
} elseif ($currentHour < 18) {
$greeting = "下午好!";
} else {
$greeting = "晚上好!";
}
?>
<p><?= $greeting ?></p>
<p>当前时间: <?= date('H:i:s') ?></p>
<h2>随机知识</h2>
<?php
$facts = [
"PHP的意思是PHP: Hypertext Preprocessor",
"PHP由Rasmus Lerdorf在1994年创建",
"超过79%的网站使用PHP",
"WordPress是用PHP构建的"
];
$randomFact = $facts[array_rand($facts)];
?>
<p><em><?= $randomFact ?></em></p>
</body>
</html>常见新手错误
1. 忘记PHP标签
php
<!-- 错误 -->
echo "Hello";
<!-- 正确 -->
<?php echo "Hello"; ?>2. 缺少分号
php
<?php
// 错误
echo "Hello"
echo "World"
// 正确
echo "Hello";
echo "World";
?>3. 变量作用域问题
php
<?php
$globalVar = "我是全局变量";
function test() {
// 这不会工作 - $globalVar在这里不可访问
// echo $globalVar;
// 使用global关键字或作为参数传递
global $globalVar;
echo $globalVar;
}
?>4. 混用单引号和双引号
php
<?php
$name = "张三";
// 错误 - 单引号不解析变量
echo 'Hello, $name!'; // 输出:Hello, $name!
// 正确
echo "Hello, $name!"; // 输出:Hello, 张三!
// 或者
echo 'Hello, ' . $name . '!'; // 输出:Hello, 张三!
?>开发技巧
1. 使用错误报告
php
<?php
// 在开发过程中将此添加到脚本顶部
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>2. 使用var_dump()进行调试
php
<?php
$data = ["name" => "张三", "age" => 30];
var_dump($data); // 显示变量的详细信息
?>3. 保持代码有序
php
<?php
// 好的做法:将逻辑与展示分离
$pageTitle = "我的网站";
$currentYear = date('Y');
?>
<!DOCTYPE html>
<html>
<head>
<title><?= $pageTitle ?></title>
</head>
<body>
<footer>© <?= $currentYear ?> 我的公司</footer>
</body>
</html>下一步
您现在已经编写了第一个PHP脚本并了解了基本语法。在下一章基础语法中,我们将更深入地了解PHP的语法规则和约定。
实践练习
- 创建一个PHP脚本,显示您的姓名、年龄和喜欢的颜色
- 使用PHP变量构建一个简单的“关于我”网页
- 创建一个计算并显示矩形面积的脚本
- 制作一个根据一天中的时间显示不同内容的动态页面
在继续下一步之前,请尝试这些练习来巩固您的理解!