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.rhkb.cn/news/487211.html

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

相关文章

java中的数组(2)

大家好&#xff0c;我们今天继续来看java中数组这方面的知识点&#xff0c;那么话不多说&#xff0c;我们直接开始。 一.数组的使用 1.数组中元素访问 数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,数组可以通过下标访问其任意位置的元素. 也可以进行修改…

数据结构 (36)各种排序方法的综合比较

一、常见排序方法分类 插入排序类 直接插入排序&#xff1a;通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。希尔排序&#xff1a;是插入排序的一种改进版本&#xff0c;先将整个待排序的记录序列分割成为…

计算机网络安全 —— 实体鉴别与生成大随机数

一、实体鉴别# ​ 实体鉴别&#xff08;经常简称为鉴别&#xff09;就是一方验证另一方身份的技术。一个实体可以是人、客户/服务器进程等。这里仅讨论如何鉴别通信对端 实体的身份&#xff0c;即验证正在通信的对方确实是所认为的通信实体&#xff0c;而不是其他的假冒者。进…

【SpringBug】lombok插件中@Data不能生成get和set方法

一&#xff1a;问题引入 可以看到我们在类UserInfo上写了Data注解&#xff0c;但是在测试文件中生成的反编译target文件Us二Info中没有get和set方法 二&#xff1a;解决方法 1&#xff1a;Spring升级问题&#xff08;解决了我的问题&#xff09; 原因是Spring官方进行了升级…

Unity 基于Collider 组件在3D 物体表面放置3D 物体

实现 从鼠标点击的屏幕位置发送射线&#xff0c;以射线监测点击到的物体&#xff0c;根据点击物体的法线向量调整放置物体的位置及朝向。 Ray ray Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out RaycastHit hit, 100)) {obj.transform.…

宝塔内设置redis后,项目以及RedisDesktopManager客户端连接不上!

项目展现问题&#xff1a; Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to xxx.宝塔外链.ip.xxxx:6379 redis客户端连接失败&#xff1a; 1、宝塔中确认redis端口已放行 2、修改redis的配置 bind&#x…

2024 年 11 月区块链游戏研报:牛市加持下的 GameFi 破局之路

2024 年 11 月区块链游戏研报 作者&#xff1a;Stella L (stellafootprint.network) 数据来源&#xff1a;Footprint Analytics 区块链游戏 Research 页面 2024 年 11 月 Web3 游戏行业市场增长显著但大规模采用策略仍在演进。随着比特币创下历史新高并接近 10 万美元里程碑…

[软件工程]十.可靠性工程(reliable engineering)

1.什么是可靠性工程 我们希望软件在给定的时间内&#xff0c;运行的时候不会崩溃或者发生失效&#xff0c;同时能保护我们的数据和个人信息。我们要能够信任我们所使用的软件&#xff0c;这意味着软件必须是可靠的。可靠性&#xff08;reliability&#xff09;&#xff1a;系统…

学生信息管理系统(简化版)

前端部分&#xff08;vue2&#xff09; &#xff01;&#xff01;前端采用vue2框架&#xff0c;下面只写出必要的代码文件&#xff0c;想要使用需自行先创建vue项目 部分截图 下面是目录结构 下面是public文件夹里面的html文件 <!DOCTYPE html> <html lang"&q…

Facebook广告文案流量秘诀

Facebook 广告文案是制作有效 Facebook 广告的关键方面。它侧重于伴随广告视觉元素的文本内容。今天我们的博客将深入探讨成功的 Facebook 广告文案的秘密&#xff01; 一、广告文案怎么写&#xff1f; 正文&#xff1a;这是帖子的正文&#xff0c;出现在您姓名的正下方。它可…

VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释

《VBA高级应用30例》&#xff08;版权10178985&#xff09;&#xff0c;是我推出的第十套教程&#xff0c;教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开&#xff0c;这套教程案例与理论结合&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以…

create-react-app react19 搭建项目报错

报错截图 此时运行会报错&#xff1a; 解决方法&#xff1a; 1.根据提示安装依赖法 执行npm i web-vitals然后重新允许 2.删除文件法 在index.js中删除对报错文件的引入&#xff0c;删除报错文件

【MySQL 进阶之路】事务并发情况分析

MySQL事务并发控制分析笔记 在数据库系统中&#xff0c;事务并发控制至关重要&#xff0c;能够确保多个事务并发执行时的数据一致性、隔离性和正确性。MySQL通过不同的锁机制控制并发操作&#xff0c;以确保事务的隔离性。以下是对事务A和事务B并发行为的详细分析&#xff0c;…

NanoLog起步笔记-6-StaticLogInfo

nonolog起步笔记-6-StaticLogInfo StaticLogInfo文件名和行号文件名和行号的传入log参数 RuntimeLogger::registerInvocationSitelogid为什么只能被赋一次值 reserveAlloc加入消息头finishAlloc返回 StaticLogInfo 写C语言编译前端时&#xff0c;给我印象深刻的一部分是&#…

不是“我应该做什么”,而是“我想做什么”

1. 识别内心的渴望 首先&#xff0c;我们需要识别自己真正的愿望和激情所在。这可能需要一些时间和自我反思。问自己&#xff1a;在没有任何外界压力的情况下&#xff0c;我真正想做的是什么&#xff1f;是赚钱、生活、旅行、追星&#xff0c;还是其他什么&#xff1f;识别这些…

Java-JMX (官方文档解读)

JMX 简介 JMX&#xff08;Java Management Extensions&#xff09;是Java平台的一个标准管理框架&#xff0c;自Java 1.5版本起成为Java 平台标准版 (Java SE 平台) 的标准组成部分。JMX 技术提供了一种简单、标准的方法来管理资源&#xff08;例如应用程序、设备和服务&#x…

商品期权开户条件是什么?

商品期权开户条件是什么&#xff1f; 商品期权是一种金融衍生品&#xff0c;它赋予期权持有者在特定日期&#xff08;欧式期权&#xff09;或在特定日期之前&#xff08;美式期权&#xff09;&#xff0c;以特定价格&#xff08;行权价格&#xff09;买入或卖出一定数量的某种…

RISC-V IO 虚拟化架构在 X100 芯片上的实现

安全之安全(security)博客目录导读 本篇博客,我们聚焦RISC-V 2024中国峰会上RISC-V虚拟化相关专题中的IOMMU虚拟化在X100芯片上的实现,来自进迭时空郑律老师。 我们先来看下X100的RISC-V芯片和已有的关于处理器内核虚拟化和内存虚拟化相关的支持 关于IOMMU的特性支持,下图红…

Windows 系统没有网络链接常见原因以及解决方案

在使用 Windows 电脑时&#xff0c;有时会遇到电脑显示已连接网络&#xff0c;但却无法访问 Internet 的情况&#xff0c;这可能是由多种原因导致的。以下简鹿办公将详细介绍一些常见原因及对应的解决方案。 一、网络连接问题 原因 路由器故障&#xff1a;路由器长时间运行可…

【Rive】事件回调

1 前言 Android 中可以通过 RiveAnimationView 的 addEventListener 方法添加动画监听器&#xff0c;用于监听状态动画和过渡动画的开始和结束时机&#xff0c;实现动画开始和结束时的事件回调&#xff1b;也可以监听 Rive 事件触发的时机&#xff0c;在事件触发时响应回调。 …