PHP入门教程2:控制结构和函数

news/2024/6/18 22:02:14 标签: php, android, 开发语言

PHP专栏(第二篇):控制结构和函数

在上一篇文章中,我们学习了PHP的基础知识和基本语法。接下来,我们将深入探讨PHP的控制结构和函数,这是编写复杂程序的基础。本文将包含以下几个部分:

  1. 条件语句
  2. 循环结构
  3. 函数的定义和使用
  4. 作用域和全局变量
  5. 常见的内置函数

1. 条件语句

条件语句是根据不同的条件执行不同的代码。PHP支持多种条件语句,包括ifelseelseifswitch

if 语句
php"><?php
$age = 18;

if ($age >= 18) {
    echo "你已经成年了。";
}
?>
if…else 语句
php"><?php
$age = 16;

if ($age >= 18) {
    echo "你已经成年了。";
} else {
    echo "你还未成年。";
}
?>
if…elseif…else 语句
php"><?php
$score = 85;

if ($score >= 90) {
    echo "优秀";
} elseif ($score >= 80) {
    echo "良好";
} elseif ($score >= 70) {
    echo "中等";
} elseif ($score >= 60) {
    echo "及格";
} else {
    echo "不及格";
}
?>
switch 语句
php"><?php
$day = "星期三";

switch ($day) {
    case "星期一":
        echo "今天是星期一";
        break;
    case "星期二":
        echo "今天是星期二";
        break;
    case "星期三":
        echo "今天是星期三";
        break;
    default:
        echo "今天不是星期一、星期二或星期三";
}
?>

2. 循环结构

循环结构用于重复执行代码块,直到满足特定条件。PHP支持四种循环结构:whiledo...whileforforeach

while 循环
php"><?php
$x = 1;

while ($x <= 5) {
    echo "数字是: $x <br>";
    $x++;
}
?>
do…while 循环
php"><?php
$x = 1;

do {
    echo "数字是: $x <br>";
    $x++;
} while ($x <= 5);
?>
for 循环
php"><?php
for ($x = 1; $x <= 5; $x++) {
    echo "数字是: $x <br>";
}
?>
foreach 循环
php"><?php
$colors = array("红", "绿", "蓝");

foreach ($colors as $color) {
    echo "颜色: $color <br>";
}
?>

3. 函数的定义和使用

函数是可以重复使用的代码块。通过定义函数,可以提高代码的模块化和复用性。

定义和调用函数
php"><?php
function sayHello() {
    echo "Hello, World!";
}

sayHello();
?>
带参数的函数
php"><?php
function greet($name) {
    echo "Hello, $name!";
}

greet("小明");
?>
带返回值的函数
php"><?php
function add($a, $b) {
    return $a + $b;
}

$result = add(3, 5);
echo "结果是: $result";
?>

4. 作用域和全局变量

在PHP中,变量的作用域决定了它在代码中的可见性。主要有三种作用域:局部作用域、全局作用域和静态作用域。

局部作用域
php"><?php
function myTest() {
    $x = 5; // 局部变量
    echo "函数内部的x是: $x <br>";
}

myTest();
//echo "函数外部的x是: $x"; // 会报错,x在函数外不可见
?>
全局作用域
php"><?php
$x = 10; // 全局变量

function myTest() {
    global $x;
    echo "函数内部的x是: $x <br>";
}

myTest();
echo "函数外部的x是: $x";
?>
静态变量

静态变量在函数调用结束后不会被销毁,而是继续保存其值。

php"><?php
function myTest() {
    static $x = 0;
    echo "x是: $x <br>";
    $x++;
}

myTest();
myTest();
myTest();
?>

5. 常见的内置函数

PHP提供了许多内置函数,方便开发者进行字符串操作、数组操作、数学运算等。

字符串函数
php"><?php
$str = "Hello, World!";
echo strlen($str); // 输出字符串长度
echo str_replace("World", "PHP", $str); // 字符串替换
?>
数组函数
php"><?php
$arr = array(1, 2, 3, 4, 5);
echo count($arr); // 输出数组元素个数
sort($arr); // 数组排序
print_r($arr); // 输出数组
?>
数学函数
php"><?php
echo max(1, 3, 5); // 输出最大值
echo min(1, 3, 5); // 输出最小值
echo sqrt(16); // 输出平方根
?>

小结

今天,我们学习了PHP的控制结构和函数,包括条件语句、循环结构、函数的定义和使用、变量的作用域以及常见的内置函数。这些知识是编写复杂PHP程序的基础。在下一篇文章中,我们将探讨数组和字符串的高级操作以及文件处理等内容。


http://www.niftyadmin.cn/n/5520570.html

相关文章

中望CAD 2025 (ZW3D2025) 简体中文修改版

名称&#xff1a;中望CAD 2025 (ZW3D2025) 简体中文修改版 描述&#xff1a;一款三维CAD设计工具&#xff0c;运行破解补丁ZW3D2025-2024-Patch执行修补。 链接&#xff1a;夸克网盘分享 &#x1f4c1; 大小&#xff1a;3.2GB &#x1f3f7; 标签&#xff1a;#PC软件 #CAD #设…

Mysql-题目02

下面列出的&#xff08; DBMS &#xff09;是数据库管理系统的简称。 A、DB&#xff08;数据库&#xff09; B、DBA C、DBMS(数据库管理系统&#xff09; D、DBS&#xff08;数据库系统) 以下选项中&#xff0c;&#xff08; 概念模式 &#xff09;面向数据库设计人员&…

生产中的 RAG:使你的生成式 AI 项目投入运营

作者&#xff1a;来自 Elastic Tim Brophy 检索增强生成 (RAG) 为组织提供了一个采用大型语言模型 (LLM) 的机会&#xff0c;即通过将生成式人工智能 (GenAI) 功能应用于其自己的专有数据。使用 RAG 可以降低固有风险&#xff0c;因为我们依赖受控数据集作为模型答案的基础&…

AIGC绘画设计—揭秘Midjourney关键词魔法:让你的AI绘画瞬间起飞

在这个数字化飞速发展的时代&#xff0c;AI技术正以前所未有的速度改变着我们的生活和创作方式。在艺术创作领域&#xff0c;Midjourney作为一款强大的AI绘画工具&#xff0c;正逐渐受到越来越多创作者和爱好者的青睐。今天&#xff0c;我就来为大家揭秘Midjourney背后的关键词…

day32||第八章 贪心算法 part02● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

● 122.买卖股票的最佳时机II 发现一个评论的思路&#xff0c;也挺不错的&#xff1a; 可以把股票的价格波动画出来&#xff0c;单调上升就是盈利&#xff0c;题解就是每一段单调上升的总和&#xff0c; 跟讲解的思路类似。 就是把连续几天的利润分解&#xff0c;分解成一天…

JAVA开发 PDF文件生成表格,表格根据内容自动调整高度

1、展示效果 2、相关功能实现 JAVA开发 使用Apache PDFBox库生成PDF文件&#xff0c;绘制表格 3、实现代码 import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.ap…

vue2 + element-ui,前端配置化表单封装(2024-06-14)

技术栈是 vue2 element-ui&#xff0c;主要能解决的问题就是 提高代码复用能力、提升开发效率&#xff0c;特别是需要开发多个大型表单系统的&#xff0c;配置化可以极大的提升效率&#xff0c;让你上班摸鱼不再是梦想&#xff01;为了早点下班&#xff0c;我们接着往下看吧&a…

孪生网络(Siamese Networks)和对比学习(Contrastive Learning)

目录 孪生网络&#xff08;Siamese Networks&#xff09; 对比学习&#xff08;Contrastive Learning&#xff09; 区别 SimCLR (A Simple Framework for Contrastive Learning of Visual Representations) MoCo (Momentum Contrast for Unsupervised Visual Representati…