2022-11-24 PHP笔记3(条件语句、数组、for(foreach)循环

目录

1.条件语句

switch 语句 - 在若干条件之一成立时执行一个代码块(有选择地执行若干代码块之一)

2.数组

数值数组

关联数组

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

多维数组(较难,后续深究)

3.数组排序

Array函数(略)

4.超级全局变量(superglobals)

1)$GLOBALS

2) $_SERVER

3) $_REQUEST

4) $_POST

5) $_GET

***注意:PHP表单(后续)


1.条件语句

  • if 语句 - 在条件成立时执行代码

<?php
$t=date("H");  //date() 函数用于格式化时间/日期。date("H")表示00-23(24小时格式)
if ($t<"20")   //if (条件)--要加()
{
    echo "Have a good day!";
}
else
{
    echo "Have a good night!";    //注意if、else后没有冒号:
}
?>

注:date() 函数

用于格式化时间/日期

语法:  date ( str($format) [, int $timestamp]);

参数描述
format必需。规定时间戳的格式。
timestamp可选。规定时间戳。默认是当前的日期和时间。

 1)格式化日期(由参数format规定)

  • d - 代表月中的天(01-31)
  • m - 代表月(01-12)
  • Y - 代表年(四位数)
<?php
echo date("Y/m/d") . "<br>";   //可在字母间插入其他字符,如“/”、“.”以增加附加格式
echo date("Y.m.d") . "<br>";
echo date("Y-m-d");
?>

上面代码的输出如下所示:

2016/10/21
2016.10.21
2016-10-21
格式字串可以识别以下 format 参数的字符串
format 字符说明返回值例子
------
d月份中的第几天,有前导零的 2 位数字0131
D星期中的第几天,文本表示,3 个字母MonSun
j月份中的第几天,没有前导零131
l("L"的小写字母)星期几,完整的文本格式SundaySaturday
NISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加)1(表示星期一)到 7(表示星期天)
S每月天数后面的英文后缀,2 个字符stndrd 或者 th。可以和 j 一起用
w星期中的第几天,数字表示0(表示星期天)到 6(表示星期六)
z年份中的第几天0365
星期------
WISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)例如:42(当年的第 42 周)
------
F月份,完整的文本格式,例如 January 或者 MarchJanuaryDecember
m数字表示的月份,有前导零0112
M三个字母缩写表示的月份JanDec
n数字表示的月份,没有前导零112
t给定月份所应有的天数2831
------
L是否为闰年如果是闰年为 1,否则为 0
oISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)Examples: 1999 or 2003
Y4 位数字完整表示的年份例如:19992003
y2 位数字表示的年份例如:9903
时间------
a小写的上午和下午值ampm
A大写的上午和下午值AMPM
BSwatch Internet 标准时000999
g小时,12 小时格式,没有前导零112
G小时,24 小时格式,没有前导零023
h小时,12 小时格式,有前导零0112
H小时,24 小时格式,有前导零0023
i有前导零的分钟数0059>
s秒数,有前导零0059>
u毫秒 (PHP 5.2.2 新加)。需要注意的是 date() 函数总是返回 000000 因为它只接受 integer 参数, 而 DateTime::format() 才支持毫秒。示例: 654321
时区------
e时区标识(PHP 5.1.0 新加)例如:UTCGMTAtlantic/Azores
I是否为夏令时如果是夏令时为 1,否则为 0
O与格林威治时间相差的小时数例如:+0200
P与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加)例如:+02:00
T本机所在的时区例如:ESTMDT(【译者注】在 Windows 下为完整文本格式,例如"Eastern Standard Time",中文版会显示"中国标准时间")。
Z时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。-4320043200
完整的日期/时间------
cISO 8601 格式的日期(PHP 5 新加)2004-02-12T15:19:21+00:00
rRFC 822 格式的日期例如:Thu, 21 Dec 2000 16:01:07 +0200
U从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数参见 time()
  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块   elseif 相当于Python中的elif
  • switch 语句 - 在若干条件之一成立时执行一个代码块(有选择地执行若干代码块之一


<?php
$favcolor="red";
switch ($favcolor)    //switch(变量)
{
case "red":
    echo "你喜欢的颜色是红色!";     //将变量的值与case中的值进行比较匹配,若相等则执行这一代码
    break;                 //码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。
case "blue":
    echo "你喜欢的颜色是蓝色!";
    break;
case "green":
    echo "你喜欢的颜色是绿色!";
    break;
default:             //default 语句用于不存在匹配(即没有 case 为真)时执行。(即相当于else)
    echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>

2.数组

数组是能够在单个变量中存储多个值的一种特殊变量

array();创建数组

在 PHP 中,有三种类型的数组:

  • 数值数组

- 带有数字 ID 键的数组(ID 键总是从 0 开始)


<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

注: 1.

a . b并置连接两个字符串"Hi" . "Ha"HiHa

2. count() 函数用于返回数组的长度(元素的数量)

如:count($cars)

3.遍历数值数组

遍历并打印数值数组中的所有值,使用 for 循环

注:for循环

for (初始值; 条件; 增量)

{

要执行的代码;

}

参数:

  • 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
  • 条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
  • 增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。

注释:上面的初始值增量参数可为空,或者有多个表达式(用逗号分隔)。


<?php
for ($i=1; $i<=5; $i++)   //初始值为i=1,每运行一次,i就会增1
{
    echo "数字为 " . $i . PHP_EOL; //PHP_EOF即换行
}
?>
数字为 1
数字为 2
数字为 3
数字为 4
数字为 5
  • 关联数组

- 带有指定的键的数组,每个键关联一个值

  变量=array("键"=>"值","键"=>"值","键"=>"值"(,....))
 


<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>

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

补:foreach循环

用于遍历数组

语法:

foreach ($array as $value)  //注意没有“;”
{
    要执行代码;
}

or

foreach ($array as $key => $value)
{
    要执行代码;
}

<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)    
/*每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,将看到数组中的下一个值。*/
{
    echo $value . PHP_EOL;
}
?>
Google
Runoob
Taobao

<?php
$x=array(1=>"Google", 2=>"Runoob", 3=>"Taobao");
foreach ($x as $key => $value)
/*每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。*/
{
    echo "key  为 " . $key . ",对应的 value 为 ". $value . PHP_EOL;
}
?>

key  为 1,对应的 value 为 Google
key  为 2,对应的 value 为 Runoob
key  为 3,对应的 value 为 Taobao 
  • 多维数组(较难,后续深究)

- 包含一个或多个数组的数组

在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。

一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组,依照这种方式,我们可以创建二维或者三维数组。

二维数组语法格式:

array (
    array (elements...),  //
    array (elements...),
    ...
)

3.数组排序

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的,对数组进行升序排列
  • ksort() - 根据关联数组的,对数组进行升序排列
  • arsort() - 根据关联数组的,对数组进行降序排列
  • krsort() - 根据关联数组的,对数组进行降序排列
<?php
$numbers=array(4,6,2,22,11);   
sort($numbers);         //对数组进行升序排列>>Array([0]=>2 [1]=>4 [2]=>6 [3]=>11 [4]=>22)
?> 
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
krsort($age);     //根据关联数组的键对数组进行降序排列>>Array([Peter]=>35 [Joe]=>43 [Ben]=>37)
?>                //这里的降序是对于26字母来说

Array函数(略)

4.超级全局变量(superglobals)

在一个脚本的全部作用域中都可用。 不需要特别说明,就可以在函数及类中使用。

1)$GLOBALS

是一个包含了全部变量的全局组合数组。变量的名字就是数组的键

2) $_SERVER

是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。

3) $_REQUEST

用于收集HTML表单提交的数据

4) $_POST

用于收集表单数据,在HTML form标签的指定该属性:"method="post"。

5) $_GET

用于收集表单数据,在HTML form标签的指定该属性:"method="get"。

$_GET 也可以收集URL中发送的数据。

***注意:PHP表单(后续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值