PHP学习 分支、循环、数组

条件控制语句

  • 根据不同条件执行不同动作

If……Else

if语句

  • 仅当条件成立时执行代码

  • 语法格式

    if(条件)
    {
    	条件成立时要执行的代码;
    }
    
  • 代码示例

    if($a>=0)
    {
        echo $a;
    }
    

if……else语句

  • 条件成立时执行一段代码,不成立则执行另一段代码

  • 语法格式

    if(条件)
    {
    	条件成立时要执行的代码;
    }
    else
    {
    	条件不成立时要执行的代码;
    }
    
  • 代码示例

    if($a>=0)
    {
        echo $a;
    }
    else
    {
        echo "变量a必须是非负的";
    }
    

if……else if ……else语句

  • 在若干条件之一成立时执行相应代码

  • 语法格式

    if (条件)
    {
        if 条件成立时执行的代码;
    }
    else if (条件)
    {
        else if 条件成立时执行的代码;
    }
    else
    {
        条件不成立时执行的代码;
    }
    
    • elseifelse if完全等效

Switch

  • 在若干条件之一成立时执行相应代码

  • 语法格式

    • 对表达式进行计算
    • 与相应的case进行比较,进入相应代码快执行
    • break用来禁止代码跳入后续case语句
      • 若不使用break,在完成匹配后仍会继续比较后续case
    • default在没有case为真时执行
    <?php
    switch (n)
    {
    case label1:
        如果 n=label1,此处代码将执行;
        break;
    case label2:
        如果 n=label2,此处代码将执行;
        break;
    default:
        如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
    }
    ?>
    
  • 代码示例

    switch (n)
    {
    case 'int':
        echo "n是整数"
        break;
    case 'float':
        echo "n是浮点数"
        break;
    default:
        echo "请重新输入";
    }
    

循环语句

While循环

while循环

  • 先检查条件,再执行代码,只要条件成立,就一直重复执行代码块

  • 语法格式

    while (条件)
    {
        while 条件成立时执行的代码;
    }
    
  • 代码示例

    while($n>0)
    {
    	$n--;
    }
    

do……while循环

  • 先执行代码,再检查条件,只要条件成立,就一直重复执行代码块

    • 至少会执行一次代码
  • 语法格式

    do
    {
        while 条件成立时执行的代码;
    }while (条件);
    
  • 代码示例

    do
    {
    	$n--;
    }while($n>0);
    

For循环

for循环

  • 常用于已知循环次数的循环

  • 语法格式

    for (初始值; 条件; 增量)
    {
        要执行的代码;
    }
    
    • 初始值:初始化一个变量值,常用作计数器
    • 条件:为TRUE,则循环继续
    • 增量:一般用于递增变量
      • 初始值参数可以为空;亦可以有多个表达式,用逗号分割
  • 代码示例

    for($i=0;$i<4;$i++)
    {
    	echo $i;
    }
    

foreach循环

  • 常用于遍历数组

  • 语法格式

    foreach ($array as $value)
    {
        要执行代码;
    }
    
    • 每次循环,当前数组元素的值会被赋值给 $value 变量
    • 指针顺次移动
    foreach ($array as $key => $value)
    {
        要执行代码;
    }
    
    • 每次循环,当前数组元素的键与值会分别被赋值给 $key$value 变量
    • 指针顺次移动
  • 代码示例

    $myarray=array('a'=>'apple','b'=>'banana');
    foreach($myarray as $key=>$value)
    {
    	echo "$key=$value   ";
    }
    

跳出循环

  • break: 直接终止当前循环
  • continue: 终止本次循环,进入下一次迭代

数组

  • 在单个变量中存储多个值
  • 利用array()函数创建

数值数组

  • 带有数字ID键的数组,键从零开始

    $launch=array("noddles","rice");
    
  • count():返回数组的长度(元素个数)

  • 遍历数组:可以使用for循环来实现

    <?php
    $launch=array("noddles","rice");
    $arrlength=count($launch); 
    for($x=0;$x<$arrlength;$x++)
    {
        echo $launch[$x];
        echo "<br>";
    }
    ?>
    

关联数组

  • 键可以由用户分配

    $salary=array("Joe"=>"1500$","Mike"=>"250$")
    或者
    $salary['Joe']="1500$";
    
  • 遍历数组:可以用foreach循环实现

    <?php
    $salary=array("Joe"=>"1500$","Mike"=>"250$");
    foreach($salary as $key=>$value)
    {
        echo "key= ". $key . ", value= ".$value;
        echo "<br>";
    }
    ?>
    

多维数组

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

  • 主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组

    $grades=array
    (
        array("Mike",90);
        array("Lucy",91);
        array("Tim",65);
    );
    ?>
    

设置数组指针

reset()

内部指针指向数组中第一个元素

end()

内部指针指向数组中的最后一个元素,并输出

next()

内部指针指向数组中的下一个元素,并输出

prev()

内部指针指向数组中的上一个元素,并输出

current()

返回数组中当前元素的值

each()

返回当前元素的键名和键值,并将内部指针向前移动

数组排序

sort()函数

  • 对数组进行升序排列
  • 第二个参数值
    • 0:默认,标准顺序,即ASCII码
    • 1:当做数字来排序
    • 2:当做字符串来排序
    • 3:当做字符串,基于当前区域设置
    • 4:当做字符串,自然排序
    • 5:结合“2”或“4”进行排序,不区分大小写

rsort()函数

  • 对数组进行降序排列

asort()函数

  • 根据关联数组的,对数组进行升序排列

ksort()函数

  • 根据关联数组的,对数组进行升序排列

arsort()函数

  • 根据关联数组的,对数组进行降序排列

krsort()函数

  • 根据关联数组的,对数组进行升序排列

常用操作

array_unshift()

在数组开头插入元素

array_push()

在数组尾部插入元素(入栈)

array_pop()

删除数组中最后一个元素(出栈)

array_shift()

删除数组中第一个元素,返回被删除元素的值

array_unique()

删除数组中重复的值

参考手册

以下文档包含Array的所有函数,大家需要时可查阅。

PHP 5 Array 函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值