PHP 新手教程:从入门到构建简单网页

news/2024/12/26 19:51:59/

PHP 是一种服务器端脚本语言,广泛用于 Web 开发。今天教大家从零基础学习 PHP,并通过实际代码示例,帮助你理解核心概念并构建一个简单的网页。

一、准备工作

在开始学习之前,你需要:

文本编辑器: 任何文本编辑器都可以,例如 Notepad++ (Windows), Sublime Text, Atom, VS Code 等。 选择一个你喜欢的,并能高亮显示代码的编辑器会提高效率。

Web 服务器: PHP 代码需要在 Web 服务器上运行。 你可以选择以下几种方案:

  • XAMPP/WAMP: 这是最简单的方案,它们是集成环境,包含了 Apache Web 服务器、MySQL 数据库和 PHP 解释器。下载并安装后,你就可以直接运行 PHP 代码了。
  • 本地服务器 (例如:PHP内置服务器): 对于学习阶段,PHP内置服务器也足够了。在命令行中使用 php -S localhost:8000 命令即可启动。
  • 云服务器: 如果你想将你的项目部署到互联网上,你需要一个云服务器 (例如 AWS, Google Cloud, Azure)。

这里新手推荐配置和安装XAMPP(Apache+MySQL+PHP+PERL)运行环境,这里附上安装包下载地址:https://pan.quark.cn/s/8e54c14334d0


二、第一个PHP程序

创建一个名为 hello.php 的文件 (文件名后缀必须是 .php),并写入以下代码:

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

将 hello.php 文件放在你的 Web 服务器的 htdocs 文件夹 (或等效文件夹) 下。 启动你的 Web 服务器,然后在浏览器中访问 http://localhost/hello.php (或你的服务器地址)。你应该看到 "Hello, world!" 显示在浏览器中。

这段代码解释:

  •  <?php 和 ?> 是 PHP 代码的起始和结束标签。
  •  echo 是一个输出语句,用于将文本输出到浏览器。

三、变量和数据类型

PHP 支持多种数据类型,包括:

  • 整数 (integer): 例如 10, -5, 0。
  • 浮点数 (float/double): 例如 3.14, -2.5。
  • 字符串 (string):例如 "Hello", 'PHP'。 注意单引号和双引号都可以用来包裹字符串。
  • 布尔值 (boolean):true 或 false。
  • 数组 (array):可以存储多个值。
  • null:表示变量没有值。

变量使用 $ 符号开头,例如:

<?php
$name = "John Doe";
$age = 30;
$isStudent = false;echo "My name is " . $name . " and I am " . $age . " years old.";
echo "<br>"; // 换行
echo "Am I a student? " . ($isStudent ? "Yes" : "No"); // 三元运算符
?>

上面这段代码演示了变量的声明和使用,以及字符串连接和三元运算符。


四、数组

数组可以存储多个值,可以使用索引或键值对的方式访问:

<?php
$numbers = array(1, 2, 3, 4, 5); // 索引数组
$person = array("name" => "Jane", "age" => 25, "city" => "New York"); // 关联数组echo "The first number is: " . $numbers[0];
echo "<br>";
echo "Jane's age is: " . $person["age"];
?>

五、条件语句

if, else, elseif 语句用于控制程序的流程:

<?php
$score = 85;if ($score >= 90) {echo "A";
} elseif ($score >= 80) {echo "B";
} elseif ($score >= 70) {echo "C";
} else {echo "F";
}
?>

六、循环语句

for, while, foreach 语句用于重复执行代码块:

<?php
// for 循环
for ($i = 1; $i <= 5; $i++) {echo $i . " ";
}
echo "<br>";// while 循环
$i = 1;
while ($i <= 5) {echo $i . " ";$i++;
}
echo "<br>";// foreach 循环 (用于遍历数组)
$colors = array("red", "green", "blue");
foreach ($colors as $color) {echo $color . " ";
}
?>

七、函数

函数可以将代码块封装起来,方便重用:

<?php
function add($a, $b) {return $a + $b;
}$sum = add(5, 3);
echo "5 + 3 = " . $sum;
?>

八、构建一个简单的网页

结合以上知识,我们可以构建一个简单的网页,显示用户的姓名和年龄:

这段代码使用了 $_GET 超全局变量获取URL参数,并将其嵌入到HTML中。 在浏览器中访问 http://localhost/your_file_name.php?name=Alice&age=20 即可查看效果。

<?php
$name = isset($_GET["name"]) ? $_GET["name"] : "Guest"; // 获取GET参数,如果没有则默认为"Guest"
$age = isset($_GET["age"]) ? $_GET["age"] : "Unknown";?>
<!DOCTYPE html>
<html>
<head>
<title>Simple Webpage</title>
</head>
<body>
<h1>Hello, <?php echo $name; ?>!</h1>
<p>Your age is: <?php echo $age; ?></p>
</body>
</html>

这些教程只是 PHP 入门的冰山一角。 学习 PHP 的过程需要持续的练习和实践。 建议你多尝试编写不同的代码,并查阅官方文档和其他的学习资源,不断深入学习 PHP 的更多特性和功能,例如数据库操作、面向对象编程等。PHP是世界上最好的语言!


http://www.ppmy.cn/news/1558338.html

相关文章

前端常见文件下载方式总结

前端常见文件下载方式总结 前言 最近在维护一个老项目&#xff0c;为其新加了一个文件批量下载功能&#xff0c;但是遇到一个隐藏的bug&#xff0c;具体表现就是谷歌浏览器用 xhr 同时下载超过10个小文件时&#xff0c;最后只保存下来10个&#xff0c;观察调试工具的网络请求…

使用 Rust 和 wasm-pack 开发 WebAssembly 应用

一、什么是 WebAssembly&#xff1f; WebAssembly 是一种运行在现代 Web 浏览器中的新型二进制指令格式。它是一种低级别的字节码&#xff0c;可以被多种语言编译&#xff0c;并在浏览器中高效运行。 1.1 WebAssembly 的背景与概念 高性能计算&#xff1a;WebAssembly 旨在提…

React:组件、状态与事件处理的完整指南

JSX JSX 出现的原因 JSX 出现的主要原因是为了解决 React 中组件渲染的问题。在 React 中&#xff0c;用户界面是由组件构造的&#xff0c;而每个组件都可以看作是一个函数。这些组件或函数需要返回一些需要渲染的内容&#xff0c;而这些内容通常是 HTML 元素。 在早期的 JavaS…

Oracle之限定查询

文章目录 1. 查询出工资大于1000的所有雇员信息.2. 查询出姓名是Smith的雇员信息3. 查询出工资在1000~1500之间的所有非销售人员的编号、姓名、职位、工资4. 查询出所有不是办事员&#xff08;CLERK&#xff09;的员工信息4. 查询所有是办事员的员工信息5. 查询出职位是办事员&…

Linux:code:network:devinet_sysctl_forward;IN_DEV_FORWARD

文章目录 简介sysctl 设置使用,arp_process间接使用IN_DEV_RX_REDIRECTSdev_disable_lro简介 最近在看Linux里的forwarding的功能。顺便在这里总结一下。有些详细代码逻辑,如果可以记录一下,会好一点。 sysctl 设置 这个函数在查看的时候需要注意的问题:变量名起的有点简…

Ubuntu国内安装Gradle

1.简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置&#xff0c;也增加了基于Kotlin语言的kotlin-based DSL&#xff0c;抛弃了基于XML的各种繁琐配置。 2.环境 LInux 发行版本&#xff1a…

【项目介绍】基于机器学习的低空小、微无人机识别技术

文章目录 1.项目介绍2.数据预处理3.特征选取4.模型训练参考文献 1.项目介绍 对于现代雷达探测系统而言&#xff0c;无人机和飞鸟同属于低空小、微特征的一类典型目标&#xff0c;而面对比较复杂的环境&#xff0c;如何有效区分两者类型并完成识别是当下急迫且重要的难题。常规…

whisper.cpp: Android端测试 -- Android端手机部署音频大模型

whisper.cpp: Android端测试 1.环境需要2.构建项目3.Android测试 1.环境需要 以下是经实验验证可行的环境参考&#xff0c;也可尝试其他版本。 &#xff08;1&#xff09;PC&#xff1a;Ubuntu 22.04.4 &#xff08;2&#xff09;硬件设备&#xff1a;Android 手机 &#x…