• 【PHP】数组用法(转)


    摘要:

      说明数组遍历方法foreach,while,for,推荐使用foreach(PHP内部实现,简单速度最快,还可以遍历类属性)。以及一些常用方法current,prev,next,end,key,reset,each

    一、foreach


     foreach()是一个用来遍历数组中数据的最简单有效的方法。

    <?php
    $colors= array('red','blue','green','yellow');
    foreach ($colors as $color){
        echo "Do you like $color? <br />";
    }
    ?>

    显示结果:

    Do you like red? 
    Do you like blue? 
    Do you like green? 
    Do you like yellow? 

    <?php
    $colors= array('color1'=>'red','color2'=>'blue');
    foreach ($colors as $key=>$value){
        echo "Do you like $key $value? <br />";
    }
    ?>

    显示结果:

    Do you like color1 red? 

    Do you like color2 blue? 

    二、while


     while() 通常和 list(),each()配合使用。

    <?php
    $colors= array('red','blue','green','yellow');
    while(list($key,$val)= each($colors)) {
        echo "Other list of $val.<br />";
    }
    ?>

     显示结果:

    Other list of red. 
    Other list of blue. 
    Other list of green. 
    Other list of yellow.

    三、for


    <?php
    $arr= array ("0"=> "zero","1"=> "one","2"=> "two");
    for ($i= 0;$i< count($arr); $i++){
      $str= $arr[$i];
        echo "the number is $str.<br />";
    }
    ?>

    显示结果:

    the number is zero. 
    the number is one. 
    the number is two.

    四、数组常用方法

    1)current()  位于target_array数组当前指针位置的数组值。与next()、prev()、和end()函数不同,current()不移动指针。

    2)next()   返回紧接着放在当前数组指针的下一个位置的数组值。

    3)prev()  返回位于当前指针的前一个位置的数组值,如果指针本来就位于数组的第一个位置,则返回FALSE。 

    4)end()  指针移向target_array的最后一个位置,并返回最后一个元素。


    <?php
    $fruits= array("apple","orange","banana");
    $fruit= current($fruits); //return "apple"
    echo $fruit."<br />";
    $fruit= next($fruits); //return "orange"
    echo $fruit."<br />";
    $fruit= prev($fruits); //return "apple"
    echo $fruit."<br />";
    $fruit= end($fruits); //return "banana"
    echo $fruit."<br />";
    ?>

    显示结果:

    apple 
    orange 
    apple 
    banana

    5)each()  返回输入数组当前键/值对,并将指针推进一个位置。返回的数组包含四个键,键0和key包含键名,而键1和value包含相应的数据。如果执行each()前指针位于数组末尾,则返回FALSE。


    <?php
    $capitals= array("Ohio"=> "Columbus","Towa"=> "Des Moines","Arizona"=> "Phoenix");
    $s1= each($capitals);
    print_r($s1);
    ?>

    显示结果:

    Array ( [1] => Columbus [value] => Columbus [0] => Ohio [key] => Ohio )

    6)reset()


    用来将input_array的指针设置回数组的开始位置。如果需要在一个脚本中多次查看或处理同一个数组,就经常使用这个函数,另外这个函数还常用于排序结束时。

    <?php
    $colors= array('red','blue','green','yellow');
    foreach ($colors as $color){
      echo "Do you like $color? <br />";
    }
    reset($colors);
    while(list($key,$val)= each($colors)) {
      echo "$key=> $val<br />";
    }
    ?>

    显示结果:

    Do you like red? 
    Do you like blue? 
    Do you like green? 
    Do you like yellow? 
    0 => red 
    1 => blue 
    2 => green 
    3 => yellow

    注意:将一个数组赋值给另一个数组时会重置原来的数组指针,因此在上例中如果我们在循环内部将 $colors 赋给了另一个变量的话将会导致无限循环。 
    例如将 $s1 = $colors; 添加到while循环内,再次执行代码,浏览器就会无休止地显示结果。

    7)key()


    返回input_array中位于当前指针位置的键元素。

    <?php
    $capitals= array("Ohio"=> "Columbus","Towa"=> "Des Moines","Arizona"=> "Phoenix");
    echo "<p>Can you name the capitals of these states?</p>";
    while($key= key($capitals)) {
        echo $key."<br />";
        next($capitals);
        //每个key()调用不会推进指针。为此要使用next()函数
    }
    ?>

    显示结果:

    Can you name the capitals of these states? 
    Ohio 
    Towa 
    Arizona

    计划、执行、每天高效的活着学着
  • 相关阅读:
    uIP学习笔记
    ALIENTEK 战舰ENC28J60 LWIP和UIP补充例程
    PID整定方法
    ENC28j60以太网芯片驱动程序简介
    Petit FatFs
    如何使用可控硅?(详细教程)
    Linux查看系统资源占用
    驾照科目三考试通过需要注意什么?
    科目三考试
    驾照的科目三考试中,如何完成直线行驶?
  • 原文地址:https://www.cnblogs.com/huxiaoyun90/p/4137056.html
Copyright © 2020-2023  润新知