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/484944.html

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

相关文章

一键部署 Poste.io 邮件/邮局/完整教程

在使用 Nginx 或宝塔面板的基础上部署 Poste.io 时&#xff0c;经常会遇到证书申请失败或无法访问等问题。本教程将为您提供一个完整的解决方案。 特别说明&#xff1a;如果您的服务器 IP 已被 Outlook 列入黑名单&#xff0c;发送到 Outlook 邮箱的邮件将会失败。其他邮箱服务…

如何搭建Python的本地Pypi源

前言 在实际生产环境中工作中&#xff0c;为了安全&#xff0c;内网主机是无法连接外网的&#xff0c;开发同事在写Python相关程序时&#xff0c;需要安装大量开发所需的模块&#xff0c;如果单独安装模块的话&#xff0c;有可能会存在大量的依赖&#xff0c;需要一个一个查找…

iOS与Windows间传文件

想用数据线从 windows 手提电脑传文件入 iPhone&#xff0c;有点迂回。 参考 [1]&#xff0c;要在 windows 装 Apple Devices。装完、打开、插线之后会检测到手机&#xff0c;界面&#xff1a; 点左侧栏「文件」&#xff0c;不是就直接可以传&#xff0c;而是要通过某个应用传…

如何高效地架构一个Java项目

引言 Java是企业级应用开发的主流语言之一&#xff0c;而我们作为使用Java语言的程序员&#xff0c;职称有初级、中级、高级、资深、经理、架构&#xff0c;但我们往往只是慢慢通过经验的积累迭代了自己的等级&#xff0c;如果没有保持学习的习惯&#xff0c;大多数程序员会停留…

pytest(一)csv数据驱动

一、csv数据驱动 csv文件内容 1,1,2 3,6,9 100,200,3000csv数据驱动使用方法 import csv import pytestdef get_csv():with open("data.csv") as file:raw csv.reader(file)data []for line in raw:data.append(line)# print(data) #[[1, 1, 2], [3, 6, 9],…

Linux C/C++编程之静态库

【图书推荐】《Linux C与C一线开发实践&#xff08;第2版&#xff09;》_linux c与c一线开发实践pdf-CSDN博客《Linux C与C一线开发实践&#xff08;第2版&#xff09;&#xff08;Linux技术丛书&#xff09;》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com…

001集—— 创建一个WPF项目 ——WPF应用程序入门 C#

本例为一个WPF应用&#xff08;.NET FrameWork&#xff09;。 首先创建一个项目 双击xaml文件 双击xaml文件进入如下界面&#xff0c;开始编写代码。 效果如下&#xff1a; 付代码&#xff1a; <Window x:Class"WpfDemoFW.MainWindow"xmlns"http://schema…

优傲协作机器人 Remote TCP Toolpath URCap(操作记录)

目录 一、新机设置项 1、设置管理员密码 2、设置安全密码 3、设置负载 二、激活 Remote TCP & Toolpath URCap 1、插入U盘 2、打开激活面板 3、导入许可证 4、查看是否激活成功 5、启用功能 三、使用流程&#xff08;官方&#xff09; 步骤一 步骤二 步骤三 …

使用springboot-3.4.1搭建一个netty服务并且WebSocket消息通知(适用于设备直连操作,以及回复操作)

引入最新版本 <!--websocket--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>启动类加入 //netty 协议服务端口启动 NettyTcpHandler.start()…

从仪表盘探索 MongoDB 关键指标

这是 MongoDB 监控系列文章的第七篇&#xff0c;前面几篇文章的链接如下&#xff1a; MongoDB 监控&#xff08;一&#xff09;MongoDB 监控&#xff08;二&#xff09;MongoDB 监控&#xff08;三&#xff09;MongoDB 监控&#xff08;四&#xff09;MongoDB 监控&#xff08…

手机LCD分区刷新技术介绍

分区刷新也称为分区变频&#xff0c;LCD分区刷新功能的目的是将屏幕分为上下半区&#xff0c;分区显示不同帧率&#xff0c;上方区块High Frame Rate&#xff0c;下方区块Low Frame Rate。使用者可以动态自定义上方高刷显示区的结尾位置。 当前的智能手机屏幕上&#xff0c;显示…

php基础:文件处理

​​​​​​1.PHP 操作文件 读取文件并写到输出流的 PHP 代码如下&#xff08;如读取成功则 readfile() 函数返回字节数&#xff09;&#xff1a; <?php echo readfile("webdictionary.txt"); ?> 2.PHP 文件打开/读取/关闭 打开使用fopen&#xff08;&…

Redis高阶集群搭建+集群读写

问题 容量不够&#xff0c;redis 如何进行扩容&#xff1f;并发写操作&#xff0c; redis 如何分摊&#xff1f;另外&#xff0c;主从模式&#xff0c;薪火相传模式&#xff0c;主机宕机&#xff0c;导致 ip 地址发生变化&#xff0c;应用程序中配置需要修改对应的主机地址、端…

【H2O2|全栈】MySQL的基本操作(三)

目录 前言 开篇语 准备工作 案例准备 多表查询 笛卡尔积 等值连接 外连接 内连接 自连接 子查询 存在和所有 含于 分页查询 建表语句 结束语 前言 开篇语 本篇继续讲解MySQL的一些基础的操作——数据字段的查询中的多表查询和分页查询&#xff0c;与单表查询…

springboot vue 会员收银系统 (12)购物车关联服务人员 订单计算提成 开源

前言 完整版演示 http://120.26.95.195/ 开发版演示 http://120.26.95.195:8889/ 在之前的开发进程中&#xff0c;我们完成订单的挂单和取单功能&#xff0c;今天我们完成购物车关联服务人员&#xff0c;用户计算门店服务人员的提成。 1.商品关联服务人员 服务人员可以选择 一…

leetcode 1853 转换日期格式(postgresql)

需求 表: Days ----------------- | Column Name | Type | ----------------- | day | date | ----------------- day 是这个表的主键。 给定一个Days表&#xff0c;请你编写SQL查询语句&#xff0c;将Days表中的每一个日期转化为"day_name, month_name day, year"…

java操作doc(二)——java利用Aspose.Words动态创建自定义doc文档

有关java动态操作word文档&#xff0c;上一篇写了如何使用模板动态设置对于内容以及相关单元格的动态合并问题&#xff0c;详细请参看如下文档&#xff1a; java利用Aspose.Words操作Word动态模板文档并动态设置单元格合并 这篇文档说说&#xff0c;如何利用Aspose.Words动态…

仿蝠鲼软体机器人实现高速多模态游动

近期&#xff0c;华南理工大学周奕彤老师研究团队最新成果"Manta Ray-Inspired Soft Robotic Swimmer for High-speed and Multi-modal Swimming"被机器人领域会议 IEEE/RSJ International Conference on Intelligent Robots and Systems&#xff08;IROS 2024&#…

【网络原理】网络地址转换----NAT技术详解

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;计算机网络那些事 我们在 IP协议 一文中介绍过&#xff0c;由于IPv4协议中 IP地址只有32位&#xff0c;导致最多只能表示 42亿9千万个IP地址。但我们需要通过IP地址来标识网络上的每一个设备&#x…

D86【python 接口自动化学习】- pytest基础用法

day86 pytest配置testpaths 学习日期&#xff1a;20241202 学习目标&#xff1a;pytest基础用法 -- pytest配置testpaths 学习笔记&#xff1a; pytest配置项 主目录创建pytest.ini文件 [pytest] testpaths./testRule 然后Terminal里直接命令&#xff1a;pytest&#xff…