PHP语法学习(第六天)

💡依照惯例,回顾一下昨天讲的内容
PHP语法学习(第五天)主要讲了PHP中的常量和运算符的运用。
🔥 想要学习更多PHP语法相关内容点击“PHP专栏”
今天给大家讲课的角色是🍍菠萝吹雪,“我菠萝吹雪吹的不是雪,而是血!”

在这里插入图片描述

If…Else 各种条件语句

在 PHP 中,提供了下列条件语句:

  • if 语句 - 在条件成立时执行代码
  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
  • switch 语句 - 在若干条件之一成立时执行一个代码块

if 语句

语法:

if (条件)
{条件成立时要执行的代码;
}

实例:

如果菠萝吹雪打败敌人的时间小于10秒,下面的实例将输出 “Pineapple happy!”

<?php
$t=date("P");
if ($t<"10")
{echo "Pineapple happy!";
}
?>

if…else 语句

语法:

if (条件)
{		
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}

实例

如果菠萝吹雪打败敌人的时间小于10秒,下面的实例将输出 "Pineapple happy! " ,否则输出“Pineapple sad! ”

<?php
$t=date("P");
if ($t<"10")
{echo "Pineapple happy!";
}
else
{echo "Pineapple sad!";
}
?>

if…elseif…else 语句

在多条件之一成立时执行一个代码块,请使用 if…elseif…else 语句

语法:

if (条件)
{if 条件成立时执行的代码;
}
elseif(条件)
{elseif 条件成立时执行的代码;
}
else
{条件不成立时执行的代码;
}

实例1:

<?php
$t=date("P");
if ($t<"10")
{echo "Pineapple happy!";
}
elseif ($t<"20")
{echo "Pineapple confused!";
}
else
{echo "Pineapple sad!";
}
?>

实例2:

if(you==梨花诗){谈恋爱}
elseif(you==橙留香){5公里
}
elseif(you==陆小果){洗碗}elseif(you==东方求败){打败它}
Else{去干活}

Switch 语句

  • switch 语句用于根据多个不同条件执行不同动作。当需要有选择地执行若干代码块之一,使用 switch 语句。

语法:

语法
<?php
switch (n)
{
case 1:如果 n=1,此处代码将执行;break;
case 2:如果 n=2,此处代码将执行;break;
default:如果 n 既不等于1 也不等于2 ,此处代码将执行;
}
?>

switch 语句运行原理:

  1. 首先对一个简单的表达式 n(通常是变量)进行一次计算
  2. 将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码
  3. 代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行
  4. default 语句用于不存在匹配(即没有 case 对应的代码)时执行

实例1

从满足条件的地方开始到第一个break结束,跳出switch语句

<?php$t=10;switch($t){case 10:echo "t=10";break;case 20:echo "t=20";break;case 30:echo "t=30";break;default:echo "Pineapple happy!";}        
?>

实例2

  • 注意:在 switch 语句中漏写 break, 可能会使输出在意料之外!switch 语句不遇到 break 将不会自己停止执行下面的代码!
<?php
$car="SU7 Ultra";
switch ($car)
{
case "SU7 Ultra":echo "你的车是SU7 Ultra!";break;
case "BMW":echo "你的车是BMW!";break;
case "NIO EP9":echo "你的车是NIO EP9!";break;
default:echo "你的车不是SU7 Ultra, BMW,或NIO EP9!";
}
?>

运行结果

你的车是SU7 Ultra!

关联数组

关联数组是使用分配给数组指定键的数组,关联数组的键值是字符串,并且是人为的规定。索引数组是数字下标,关联数组是键值下标

$num=array(1,2,3,4,5)       num[1]

创建关联数组

两种方法:

$age=array("lxj"=>"20","Pineapple"=>"14","fans"=>"18");

或者

$age['lxj']="20";
$age['Pineapple']="14";
$age['fans']="43";

创建完关联数组之后可在脚本中使用指定的键

<?php
$age=array("lxj"=>"20","Pineapple"=>"14","fans"=>"18");
echo "lxj is " . $age['lxj'] . " years old.";
echo '<br>';
echo "Peter is " . $age['Pineapple']." years old.";
echo '<br>';
echo "fans=",$age['fans'];
?>

运行结果

lxj is 20 years old.
Peter is 14 years old.
fans=18

遍历关联数组中的所有值

遍历并打印关联数组中的所有值,可以使用 foreach 循环

例1:

<?php
$age=array("lxj"=>"20","Pineapple"=>"14","fans"=>"18");foreach($age as $x=>$x_value)
{echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
?>

运行结果

Key=lxj, Value=20
Key=Pineapple, Value=14
Key=fans, Value=18

例2:

<?php$age=array("chengliuxiang"=>"14","luxiaoguo"=>"14","lihuasi"=>"14");foreach($age  as $keyname=>$key_value)
{echo "<h4>",$keyname." is ",$key_value," old year!";echo "<br>";
}
?>

运行结果

chengliuxiang is 14 old year!
luxiaoguo is 14 old year!
lihuasi is 14 old year!

数组排序

数组中的元素可以按字母或数字顺序进行降序或升序排列

sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列

$age 数组中的元素按照字母升序排列:

<?php
$age=array("lxj","Pineapple","fans");
sort($age);
?>

$numbers 数组中的元素按照数字升序排列

<?php
$numbers=array(11,3,2,22,16);
sort($numbers);
?>

asort( )

  • 根据数组的值,对关联数组进行升序排列
<?php
$age=array("lxj"=>"20","Pineapple"=>"14","fans"=>"18");asort($age); #按年龄从小到大排列
foreach($age as $x=>$x_value)
{echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
?>

运行结果

Key=Pineapple, Value=14
Key=fans, Value=18
Key=lxj, Value=20

ksort( )

  • 根据数组的键,对数组进行升序排列
<?php
$age=array("lxj"=>"20","Pineapple"=>"14","fans"=>"18");
ksort($age);
?>

arsort( )

  • 根据数组的值,对数组进行降序排列
<?php
$age=array("lxj"=>"20","Pineapple"=>"14","fans"=>"18");
arsort($age);
?>

krsort()

  • 根据数组的键,对数组进行降序排列
<?php
$age=array("lxj"=>"20","Pineapple"=>"14","fans"=>"18");
krsort($age);
?>

索引数组的排序

<?php 
$num=array(1,3,2,0,6,9,10,4);sort($num); #对数据升序for($i=0;$i<8;$i++){echo $num[$i];echo "<br>";
}
echo "------------------------------------------<br>";
rsort($num); #对数据降序for($i=0;$i<8;$i++){echo $num[$i];echo "<br>";
}
?>

运行结果

0
1
2
3
4
6
9
10
-------------------------------------------------------------------
10
9
6
4
3
2
1
0

今天的内容到这里就结束了,明天见啦!!
想要了解更多请点击练小杰的CSDN!!!!
欢迎各位在评论区踊跃讨论,积极提出问题,解决困惑!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/62199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python Web 开发:使用 FastAPI 进行依赖注入与异常处理

Python Web 开发&#xff1a;使用 FastAPI 进行依赖注入与异常处理 目录 &#x1f6e0;️ 依赖注入与 FastAPI 高级特性⚠️ 自定义异常类的实现与应用&#x1f6a8; 使用 HTTPException 处理常见错误&#x1f30d; 全局异常处理器的设计与实现⚙️ 异常处理与 API 响应的整合…

免押租赁系统助力资源共享新模式开创便捷租赁体验

内容概要 免押租赁系统&#xff0c;听起来是不是很酷&#xff1f;这个新模式不仅仅是为了让你少花点钱&#xff0c;它的到来简直就是个革命&#xff01;以前&#xff0c;租东西时首先想到的就是那个令人心痛的押金&#xff0c;对吧&#xff1f;但现在&#xff0c;免押租赁系统…

oracle之用户的相关操作

&#xff08;1&#xff09;创建用户(sys用户下操作) 简单创建用户如下&#xff1a; CREATE USER username IDENTIFIED BY password; 如果需要自定义更多的信息&#xff0c;如用户使用的表空间等&#xff0c;可以使用如下&#xff1a; CREATE USER mall IDENTIFIED BY 12345…

第77期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

如何通过自学成长为一名后端开发工程师?

大家好&#xff0c;我是袁庭新。最近&#xff0c;有星友向我提出了一个很好的问题&#xff1a;如何通过自学成为一名后端开发工程师&#xff1f; 为了解答这个疑问&#xff0c;我特意制作了一个视频来详细分享我的看法和建议。 戳链接&#xff1a;如何通过自学成长为一名后端开…

Linux---对缓冲区的简单理解--第一个系统程序

前序&#xff1a; 首先先理解一下什么是回车与换行&#xff1b;回车和换行是两个概念&#xff0c;它们不是一个东西&#xff1b; 回车:光标回到开始&#xff1b;换行:换到下一行&#xff1b; 如下图&#xff1a; 行缓冲区 如何理解缓冲区问题&#xff1f; 可以认为&#xff0…

力扣每日一题-999. 可以被一步捕获的棋子数

题目 给定一个 8 x 8 的棋盘&#xff0c;只有一个 白色的车&#xff0c;用字符 R 表示。棋盘上还可能存在白色的象 B 以及黑色的卒 p。空方块用字符 . 表示。车可以按水平或竖直方向&#xff08;上&#xff0c;下&#xff0c;左&#xff0c;右&#xff09;移动任意个方格直到它…

多模态大型语言模型MM-1.5采用数据驱动的方法,通过不断优化数据组合提高模型性能

多模态大型语言模型MM-1.5采用数据驱动的方法&#xff0c;通过不断优化数据组合提高模型性能 MM-1.5模型的设计核心在于其数据驱动的方法&#xff0c;这意味着模型的性能在很大程度上取决于所使用的数据类型和组合。这种方法的实施细节可以从以下几个方面来展开&#xff1a; …

[Python学习日记-70] 元类

[Python学习日记-70] 元类 简介 什么是元类 关键字 class 创建类的流程分析 自定义元类控制类的创建 自定义元类控制类的调用 自定义元类的属性查找 自定义元类的应用与练习 简介 在上一篇章当中我们已经了解了面向对象的各种内置函数了&#xff0c;本篇我们将讲述“元类…

数据结构题库11

第五章 树和二叉树 一、单项选择题 1&#xff0e;关于二叉树的下列说法正确的是 (1)。 (1)&#xff1a;A&#xff0e;二叉树的度为2 B&#xff0e;二叉树的度可以小于2 C&#xff0e;每一个结点的度都为2 D&#xff0e;至少有一个结点的度为 2&#xff0e;设深度为h(h>0)的二…

【学习路线】Java

Java基础 基础 基础语法 面向对象 集合框架 JCF 进阶 并发编程 JVM 企业级开发 框架 Spring Boot Spring Cloud 分布式 高性能 高可用 安全 基建 Docker 实战 数据库 MySQL Redis 计算机基础 计算机组成原理 操作系统 计算机网络 数据结构与算法 设计模式 参考&#xff1a;…

学生公寓智能限电系统的功能和作用

学生公寓智能限电系统‌是一种用于管理和限制学生公寓用电的设备和技术&#xff0c;旨在确保用电安全、防止火灾事故&#xff0c;并促进节能减排。以下是关于学生公寓智能限电系统的详细介绍&#xff1a; 1、功能和作用 智能限电系统通过以下功能来管理和限制用电&#xff1a…

【开发语言】层次状态机(HSM)介绍

层次状态机&#xff08;Hierarchical State Machine, HSM&#xff09;&#xff0c;从基本原理、结构设计、实现方法以及如何结合 Qt 进行具体实现等方面进行分析。 1. 层次状态机的基本原理 层次状态机是一种用于管理复杂系统行为的状态机模型&#xff0c;它通过将状态组织成…

MYSQL PARTITIONING分区操作和性能测试

PARTITION OR NOT PARTITION IN MYSQl Bill Karwin says “In most circumstances, you’re better off using indexes instead of partitioning as your main method of query optimization.” According to RICK JAMES: “It is so tempting to believe that PARTITIONing wi…

深入解析 Loss 减少方式:mean和sum的区别及其在大语言模型中的应用 (中英双语)

深入解析 Loss 减少方式&#xff1a;mean 和 sum 的区别及其在大语言模型中的应用 在训练大语言模型&#xff08;Large Language Models, LLM&#xff09;时&#xff0c;损失函数&#xff08;Loss Function&#xff09;的处理方式对模型的性能和优化过程有显著影响。本文以 re…

基于 AutoFlow 快速搭建基于 TiDB 向量搜索的本地知识库问答机器人

导读 本文将详细介绍如何通过 PingCAP 开源项目 AutoFlow 实现快速搭建基于 TiDB 的本地知识库问答机器人。如果提前准备好 Docker、TiDB 环境&#xff0c;整个搭建过程估计在 10 分钟左右即可完成&#xff0c;无须开发任何代码。 文中使用一篇 TiDB 文档作为本地数据源作为示…

生信技能63 - 构建gnomAD变异位点的SQLite查询数据库

将数据量巨大的gnomAD数据库,通过SQLite数据库寻找gnomAD中存在的各种变异注释信息(如等位基因计数,深度,次要等位基因频率等),查询300.000个变量的查询需要大约40秒,通过染色体编号+位置+REF+ALT即可进行快速查询。 1. gnomAD变异注释VCF文件字段 gnomAD VCF各版本包…

【前端】将vue的方法挂载到window上供全局使用,也方便跟原生js做交互

【前端】将vue的方法挂载到window上供全局使用&#xff0c;也方便跟原生js做交互 <template><div><el-button click"start">调用方法</el-button></div> </template> <script> // import { JScallbackProc } from ./JScal…

基于XML的AOP开发

AOP 为 Aspect Oriented Programming 的缩写&#xff0c;意思为面向切面编程。 AOP相关术语&#xff1a; 目标对象(Target)&#xff1a; 你要去代理的对象&#xff0c;可以理解为之前很单纯的那个对象。 代理对象(Proxy)&#xff1a; 你把你那个单纯的对象给我&#xff0c…