条件语句 switch
在上一节的学习中,学习了php的条件语句if。在php编程中进行条件判断还可以使用switch语句。switch语句语法如下:
<?php
switch (值或表达式)
{
case 值等于值1:当值等于值1时要执行的代码break;
case 值等于值2:当值等于值2时要执行的代码break;
default:当值都不等于以上条件值时要执行的代码
}
?>
代码示例如下:
<?php
$a=12;
switch ($a)
{
case 8:echo '$a == 8';break;
case 12:echo '$a == 12';break;
default:echo '$a == ?';
}
?>
以上示例中,定义了一个变量a,值为12,使用switch条件语句,把变量a作为条件,放置在switch后的圆括号中。在switch大括号中,使用关键字case进行判断。case 8表示如果变量a的值等于8,那么则执行case 8:
冒号后,以及下一个case或者default前的代码。
如果变量a的值等于8则会输出 '$a == 8'
。如果不等于8则会寻找下一个case条件。
以上代码中,变量a的值为12,则找到12的case语句后,执行case下的程序代码。如果条件都不成立,那么则指定default冒号后的代码。
运行结果如下:
数组
数组在php编程中的概念是一组值的集合。例如有几个值:5、hello、Json、1.6等这些数字,使用一个变量进行存储,那么这个变量类型就是数组,称为数组变量。
在php代码中,数组的定义方式如下:
$a=array("1","hello",12,"LiLei",13);
以上变量a是一个数组变量,想要创建数组变量需要使用array()函数,在arry函数中填入需要存放的值。以上数组中存放了字符串1、字符串hello、数组12、字符串LiLei以及数字13。
存放之后,可以使用数组的索引或者说ID键进行获取以及修改。例如想获取数组中第一个元素的值,那么可以写为$a[0]。数组的索引(指数组中的位置标记)或者ID是从0开始的,然后1、2、3、4…依次递增。想取到数组变量里面的第一个值,那么就可以编写为$a[0]、第二个值$a[1]、第三个值$a[2]依次类推。索引填写在方括号[]中。
示例如下:
<?php
$a=array("1","hello",12,"LiLei",13);
echo "1:" . $a[0] . ", 2: " . $a[1] . ",3:" . $a[2];
?>
以上代码,使用echo进行输出数组里面的值,使用形式如/a[0]、/a[0]、/a[0]、/a[1]的方式进行对值的获取。
结果如下:
在php中想显示数组中所有的值,可以使用print_r函数。
示例如下:
<?php
$a=array("1","hello",12,"LiLei",13);
print_r($a);
?>
结果如下:
以上结果[0]、[1]为显示当前位置,使用=>表示当前元素的值为多少。
数组值修改
数组的值不止可以获取也可以进行修改。修改时只需要指定位置,随后赋值一个新值,那么该位置的值将会得到修改。
示例如下:
<?php
$a=array("1","hello",12,"LiLei",13);
$a[0]='9999999';
print_r($a);
?>
以上代码中 $a[0]='9999999';
指定在数组a第0个元素修改为 ‘9999999’,随后使用print_r输出。结果如下:
结果修改成功。
数组长度
数组是有指定长度的,在进行取值时,如果超出长度将会报错。
如下示例:
<?php
$a=array("1","hello",12,"LiLei",13);
echo $a[17];
?>
以上代码中 print_r($a[17]);';
将第17个元素进行输出。在之前说过,数组的索引是从0开始的,第一个元素是0、第二个元素是1,以上代码中数组变量a的长度最长为4,没有第17个元素,赋值将会报错。
结果如下:
这时候会报错显示没有定义索引为17的元素。
那我们再看下一个例子:
<?php
$a=array("1","hello",12,"LiLei",13);
$a[17]='9999999';
print_r($a);
?>
以上例子中,直接使用代码 $a[17]=‘9999999’; 像数组a的第17个元素进行赋值,结果会不会报错?答案是不会的(php5.+中,不排除以后会有新特性)。这时将会直接生成一个第17位的索引。结果如下: