第一个PHP程序

欢迎来到PHP编程的世界!在本章中,你将创建你的第一个PHP程序,学习PHP的基本语法,并了解如何运行PHP代码。

什么是PHP程序?

PHP程序是一段以.php为扩展名的文本文件,其中包含PHP代码。当服务器接收到对PHP文件的请求时,它会先执行PHP代码,然后将结果发送给浏览器。

创建第一个PHP文件

步骤1:创建PHP文件

  1. 打开你的代码编辑器(如VS Code)
  2. 创建新文件
  3. 将文件保存为hello.php
  4. 确保文件保存在你的服务器目录中(如XAMPP的htdocs文件夹)

步骤2:编写基础PHP代码

<?php
    // 这是你的第一个PHP程序!
    echo "Hello, World!";
?>

PHP代码的基本结构

PHP标签

PHP代码必须包含在特殊的标签中:

<?php
    // PHP代码写在这里
?>

注意:

  • <?php 是开始标签
  • ?> 是结束标签
  • 如果文件只包含PHP代码,可以省略结束标签

最简单的PHP程序

<?php echo "Hello, PHP!"; ?>

输出内容到页面

PHP提供了几种向页面输出内容的方法:

1. echo 语句(最常用)

<?php
    echo "这是一个字符串";
    echo "另一个字符串";  // 会连续输出
    echo "<br>";         // 输出HTML标签
    echo "换行了";
?>

echo的特点:

  • 可以同时输出多个字符串(用逗号分隔)
  • 执行速度比print稍快
  • 没有返回值

2. print 语句

<?php
    print "使用print输出";
    print "另一个字符串";  // 也会连续输出
?>

print的特点:

  • 只能输出一个字符串
  • 返回值总是1
  • 执行速度比echo稍慢

3. echo vs print 的区别

<?php
    // echo - 可以输出多个字符串
    echo "Hello", " ", "World", "!";  // 正确

    // print - 只能输出一个字符串
    // print "Hello", " World";       // 错误!会导致语法错误
    print "Hello World!";             // 正确
?>

完整的"Hello World"示例

让我们创建一个完整的示例文件:

<?php
    // 设置字符编码,避免中文乱码
    header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html>
<html>
<head>
    <title>我的第一个PHP程序</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>欢迎学习PHP!</h1>

    <?php
        // 输出欢迎信息
        echo "<p>Hello, World!</p>";
        echo "<p>这是我的第一个PHP程序!</p>";
        print "<p>使用print语句也可以输出内容。</p>";
    ?>

    <hr>

    <?php
        // 混合HTML和PHP
        $greeting = "你好";
        $name = "PHP学习者";
        echo "<p>{$greeting},{$name}!</p>";
    ?>

</body>
</html>

PHP基础语法元素

1. 变量

变量是用来存储数据的容器。PHP变量的特点:

  • $符号开头
  • 区分大小写($name$Name是不同的变量)
  • 无需事先声明类型
<?php
    // 声明和使用变量
    $name = "张三";          // 字符串
    $age = 20;              // 整数
    $height = 175.5;        // 浮点数
    $isStudent = true;      // 布尔值

    // 输出变量
    echo $name;             // 输出:张三
    echo "<br>";
    echo $age;              // 输出:20
    echo "<br>";

    // 变量可以在字符串中使用
    echo "我的名字是$name,今年$age岁。";
    // 输出:我的名字是张三,今年20岁。

    // 使用花括号明确变量边界
    echo "我叫{$name},身高{$height}厘米。";
    // 输出:我叫张三,身高175.5厘米。
?>

2. 数据类型简介

字符串(String)

<?php
    // 单引号字符串
    $str1 = 'Hello, PHP!';

    // 双引号字符串(可以解析变量)
    $name = "小明";
    $str2 = "你好,$name!";

    echo $str1;  // Hello, PHP!
    echo "<br>";
    echo $str2;  // 你好,小明!

    // 字符串连接
    echo $str1 . " " . $str2;  // Hello, PHP! 你好,小明!
?>

数字(Integer和Float)

<?php
    // 整数
    $integer1 = 10;
    $integer2 = -5;
    $integer3 = 0;

    // 浮点数
    $float1 = 3.14;
    $float2 = -2.5;
    $float3 = 100.0;

    // 数字运算
    $sum = $integer1 + $integer2;  // 10 + (-5) = 5
    $product = $integer1 * $float1; // 10 * 3.14 = 31.4

    echo "两个整数的和:$sum";      // 输出:两个整数的和:5
    echo "<br>";
    echo "乘积结果:$product";       // 输出:乘积结果:31.4
?>

基本运算

<?php
    $a = 10;
    $b = 3;

    // 算术运算
    echo "$a + $b = " . ($a + $b) . "<br>";     // 10 + 3 = 13
    echo "$a - $b = " . ($a - $b) . "<br>";     // 10 - 3 = 7
    echo "$a * $b = " . ($a * $b) . "<br>";     // 10 * 3 = 30
    echo "$a / $b = " . ($a / $b) . "<br>";     // 10 / 3 = 3.333...
    echo "$a % $b = " . ($a % $b) . "<br>";     // 10 % 3 = 1(取余)

    // 自增自减
    $counter = 5;
    $counter++;           // 自增,现在等于6
    echo "计数器:$counter<br>";

    $counter--;           // 自减,现在等于5
    echo "计数器:$counter<br>";
?>

注释的使用

注释是代码中不会被PHP解释器执行的部分,用于给程序员阅读和记录信息。

单行注释

<?php
    // 这是单行注释
    $name = "李四";  // 变量声明注释

    # 这也是单行注释(不常用)
    $age = 25;       # 年龄变量
?>

多行注释

<?php
    /*
     * 这是多行注释
     * 可以写多行内容
     * 通常用于函数或类的说明
     */
    $description = "这是一个描述信息";

    /*
     计算圆的面积的函数
     参数:$radius - 半径
     返回值:面积
    */
    function calculateArea($radius) {
        return 3.14 * $radius * $radius;
    }
?>

注释的最佳实践

<?php
    // ============================================================================
    // 文件信息:用户管理系统
    // 创建日期:2024-01-01
    // 作者:开发者
    // ============================================================================

    // 用户基本信息变量
    $userName = "王五";      // 用户姓名
    $userAge = 28;           // 用户年龄
    $userEmail = "wang@example.com";  // 用户邮箱

    /*
     * 计算用户年龄段的函数
     * 根据年龄返回不同的年龄段描述
     *
     * @param int $age 用户年龄
     * @return string 年龄段描述
     */
    function getAgeGroup($age) {
        if ($age < 18) {
            return "未成年";
        } elseif ($age < 35) {
            return "青年";
        } elseif ($age < 60) {
            return "中年";
        } else {
            return "老年";
        }
    }
?>

运行PHP程序

方法1:使用本地服务器(推荐)

  1. 启动XAMPP/WAMP服务器
  2. 将文件放到正确位置
    • XAMPP: C:/xampp/htdocs/
    • WAMP: C:/wamp/www/
  3. 在浏览器中访问
    • 地址:http://localhost/hello.php
    • 或:http://127.0.0.1/hello.php

方法2:使用PHP命令行

# 在命令行中运行PHP文件
php hello.php

方法3:使用在线PHP编辑器

有一些在线平台可以让你直接在浏览器中编写和运行PHP代码:

  • PHPFiddle (https://phpfiddle.org/)
  • OnlineGDB (https://www.onlinegdb.com/online_php_compiler)
  • Replit (https://replit.com/languages/php)

调试技巧

1. 查看错误信息

如果PHP代码有错误,浏览器会显示错误信息:

<?php
    echo $undefinedVariable;  // 这会产生一个"未定义变量"的警告
    echo "这行代码仍会执行";
?>

2. 使用var_dump()调试

<?php
    $name = "测试用户";
    $numbers = [1, 2, 3, 4, 5];

    // 查看变量的详细信息
    var_dump($name);
    echo "<br>";
    var_dump($numbers);
?>

3. 使用print_r()调试数组

<?php
    $fruits = ["苹果", "香蕉", "橙子"];

    // 更美观地输出数组
    echo "<pre>";
    print_r($fruits);
    echo "</pre>";
?>

实践练习

练习1:个人信息展示

创建一个名为about_me.php的文件,展示你的个人信息:

<?php
    // 个人信息
    $name = "你的名字";
    $age = 你的年龄;
    $hobby = "你的爱好";
    $city = "你居住的城市";

    // 创建个人信息展示页面
?>
<!DOCTYPE html>
<html>
<head>
    <title>个人信息</title>
    <meta charset="UTF-8">
</head>
<body>
    <h1>个人信息</h1>

    <?php
        echo "<p><strong>姓名:</strong>$name</p>";
        echo "<p><strong>年龄:</strong>$age</p>";
        echo "<p><strong>爱好:</strong>$hobby</p>";
        echo "<p><strong>城市:</strong>$city</p>";
    ?>

</body>
</html>

练习2:简单计算器

创建一个可以进行基本数学运算的PHP文件:

<?php
    // 定义数字
    $num1 = 15;
    $num2 = 4;

    // 进行计算
    $sum = $num1 + $num2;
    $difference = $num1 - $num2;
    $product = $num1 * $num2;
    $quotient = $num1 / $num2;
    $remainder = $num1 % $num2;

    // 输出结果
    echo "<h3>数学运算结果</h3>";
    echo "$num1 + $num2 = $sum<br>";
    echo "$num1 - $num2 = $difference<br>";
    echo "$num1 × $num2 = $product<br>";
    echo "$num1 ÷ $num2 = $quotient<br>";
    echo "$num1 % $num2 = $remainder<br>";
?>

常见问题和解决方案

1. 页面空白或显示源代码

问题: 浏览器显示PHP源代码而不是执行结果 解决方案:

  • 确保正在通过Web服务器访问(http://localhost/),而不是直接打开文件(file:///)
  • 检查PHP文件扩展名是否为.php
  • 确保服务器正在运行

2. 中文乱码

问题: 中文字符显示为乱码 解决方案:

<?php
    // 在文件开头添加
    header('Content-Type: text/html; charset=utf-8');

    // 确保HTML文件也设置了正确的字符编码
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>中文测试</title>
</head>
<body>
    <?php
        echo "你好,世界!";
    ?>
</body>
</html>

3. 变量未定义警告

问题: 使用未声明的变量时显示警告 解决方案:

<?php
    // 方法1:检查变量是否已定义
    if (isset($undefinedVar)) {
        echo $undefinedVar;
    } else {
        echo "变量未定义";
    }

    // 方法2:给变量设置默认值
    $name = isset($_GET['name']) ? $_GET['name'] : '访客';
    echo "欢迎,$name!";
?>

总结

恭喜!你已经成功创建了第一个PHP程序,并学习了:

  • PHP文件的基本结构
  • 如何使用echo和print输出内容
  • 变量的定义和使用
  • 基本数据类型(字符串、数字)
  • PHP的基本语法
  • 注释的使用方法
  • 如何运行和调试PHP程序

这些是PHP编程的基础知识。在接下来的章节中,我们将深入学习更多PHP特性和编程技巧。

记住:

  • PHP代码必须放在<?php ?>标签内
  • 变量以$符号开头
  • 使用注释来记录你的代码
  • 多做练习来巩固所学知识

继续你的PHP学习之旅吧!