PHP if switch 数组

今天学习的是条件语句

首先是if语句

听说PHP的内核是C语言编写的,所以很多都和C有点像,这个if语句也是格式是:

1
2
3
4
if(条件)
{
条件成立时要执行的代码;//这边有个分号,其他地方没有
}

举个例子:

1
2
3
4
5
6
<?php
$t=22;
if($t>"20"){
echo"hwg is cool";
}
?>

输出结果是 hwg is cool

然后是if…else语句

1
2
3
4
5
6
7
8
if (*条件*)
{
*条件成立时执行的代码;*
}
else
{
*条件不成立时执行的代码;
*}

由于和C都差不多,我就懒得举例了,待会再下面找几个题目过来试试;

if…elseif….else 语句

感觉这个是会稍微难一点的

1
2
3
4
5
6
7
8
9
10
11
12
if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$t=date("H");//这里的date("H")代表的意思是获取当前的小时数
if ($t<"10")
{
echo "have a good morning";
}
elseif($t<"20")
{
echo"have a good dany!";
}else
echo "have a good night";
}
?>

补充:function data($value) {}
如果是date ,那就是用来获取时间的,h 表示小时,并且是12 小时制的;
date(‘Y-m-d H:i:s’, time()); // 2015-8-11 9:05:05,第二个参数不传时默认取当前时间戳
date(‘Y’) // 年份 2015,大写Y 是4位,小写为2位
date(‘m’) // 月份 8
date(‘H’) // 小时 9,大写H 是24小时制,小写为12小时制

switch case语句

和C也差不多,就说一下想让执行到一个case语句就输出,就得

加break才可以想让他执行完一圈都没得输出,只能在最后输出,就要在最后加default(default 语句用于不存在匹配(即没有 case 为真)时执行。)
举个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜欢的颜色是红色!";
break;
case "blue":
echo "你喜欢的颜色是蓝色!";
break;
case "green":
echo "你喜欢的颜色是绿色!";
break;
default:
echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>

输出结果是 你喜欢的颜色是红色!

接下来再来讲一下之前提过的数组

首先是array()函数可以用于创建函数
格式是

1
array();

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

  • 数值数组 - 带有数字 ID 键的数组
    有两种创建数值数组的方法:

第一种方法是自动分配ID键;

1
$phone=array("vivo","iphone","hauwei");//这样的结果是,vivo会自动变成$phone[0]以此类推

值得注意的是,数组的ID创建是从0开始的

第二种方法是直接创建

1
2
$phone[0]="vivo";
$phone[1]="iphone";

下面运行下实例:

1
2
3
4
<?php
$phone=array("vivo","iphone","huawei");
echo "I like" . $phone[0] . "," .$phone[1] . ",".$phone[2].".";
?>//输出的结果是我喜欢vivo,iphon,huawei。

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

通俗点说就是,你要给三个变量都赋予一个相同属性的值,就可以直接用关联数组
比如说

1
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

这样的话,每个人都被赋予了年龄这个属性值
举个例子

1
2
3
4
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>//输出的结果是peter is 35years old.

这里有提到一个获取数组的长度-count()函数
count()函数用于返回数组的长度(元素的数量)
直接放个例子吧

1
2
3
4
<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>

输出的结果是3,原来,这个count输出的是array这个函数数组中所包含的元素数量

遍历数组

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

1
2
3
4
5
6
7
8
9
<?php
$phone=array("vivo","iphone","huawei");
$arraylenth=count($iphone);//这边的count($iphone)就可以直接数出iphone的数组元素长度了
for($x=0;$x<$arraylength;x++)
{
echo $phone[$x];
echo <"br">;
}
?>

输出的结果是 vivo iphone huawei
遍历并打印关联数组
可以使用foreach循环,这里就需要说明一下一下foreach循环了

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

两个都是foreach循环
第一个是,用官方的话来说是,没进行一次循环,当前数组元素的值就会被赋值给$value变量(数组指针会逐一往下移动),在进行下一次循环时,将会看到数组中的键与值
我的理解是,(把概念打一遍,突然感觉自己的想法就是概念的想法?),数组的都会被按顺序以value变量为载体输出

而第二个是,用官方的话来说,每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。
我的理解是,他是在上一种的基础上,多增加了一个$key变量,然后将数组的序号或者代称以key的形式输出,,然后另一个value效果和上一个一样就不说了。
然后这个key和value是可以替换成其他字母的

例:

1
2
3
4
5
6
7
<?php
$age=array("hwg" =>"20","hsb"=>"21","wjs"=>"19");
foreach($age as $value)
{
echo $value;
}
?>
1
2
3
4
5
6
7
8
<?php
$age=array("hwg" =>"20","hsb"=>"21","wjs"=>"19");
foreach($age as $name => $old)
{
echo "name=".$name .", old=" . $old;//echo输出多个值,中间记得要用.连接
echo "<br>";
}
?>

PHP数组排序

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

列举其中一个就好

1
2
3
4
<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);//其中的sort可以替换
?>

输出的结果是按照元素的字母升序排列的

Author

vague huang

Posted on

2020-10-11

Updated on

2020-10-13

Licensed under

Comments