美文网首页
数组遍历

数组遍历

作者: 刘宇龙 | 来源:发表于2016-09-14 19:20 被阅读0次

for循环遍历数组:

使用for遍历数组

保证数组: 一定要是下标连续的索引数组

优点:效率很高, 就是数组访问方式, 只不过通过循环去取值

count(数组) 获取数组的长度, 是数组的实际元素的个数

不足:数组下标不一定是连续的

关联数组for循环不能遍历出值

$arr = array("aa", "bb", "cc", "dd", "ee", "ff", "ggg", "hh");

    $nums = count($arr);

    for($i=0; $i < $nums; $i++) {
        echo $arr[$i].'<br>';

    }

缺点:for循环遍历不出9及后面的数组,count为8

$arr = array("aa", "bb", "cc", "dd", 9=>"ee", "ff", "ggg", "hh");

$nums = count($arr);   //8

$nums = 13;

for($i=0; $i < $nums; $i++) {
    echo $arr[$i].'<br>';

}

foreach()语法遍历数组:

foreach(数组 as 自定义变量) {

}

数组有多少个元素, foreach就循环多少次

foreach会将数组中的元素 在每次循环中,依次将元素的值给自定义的变量,在每次循环中用到这个变量,即用到了当前的数组中的元素

foreach(数组 as 下标变量 => 值变量) {

}

PS:默认下标从0开始,若给了键,则从键开始下标+1

$arr = array("one"=>"aa", "bb", "three"=>"cc", "dd", 9=>"ee", "ff", "four"=>"ggg", "hh", "xxx", "yyy", "zz");

方法1:只遍历值

    foreach($arr as $value){
        echo "{$value}<br>";
    }
方法二:遍历键和值

    foreach ($arr as $kk => $vv) {
        echo "{$kk}======>{$vv}<br>";
    }

foreach遍历数组应用:

实现将数组遍历到表格内

<?php
$group=[      "name"=>"第三组",
              "price"=>8888,
              ["name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"],
              ["name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"],
              ["name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com"]
      ];

      echo '<table border="1" width="800" align="center">';
      echo '<caption><h1>数组转为表格<h1></caption>';

      foreach ($group as $k=> $row) {
        echo '<tr>';
        if(is_array($row)){
        foreach ($row as $col) {
        echo '<td>'.$col.'</td>';
      }
      }else{
        echo'<td colspan="4">'.$k.':'.$row.'</td>';
      }
        echo '</tr>';
      }
      echo '</table>';

list函数遍历:

list() 函数 但这个函数和其它函数用法不同

作用: 将数组中的元素转为变量使用

1.等号左边使用list()函数, 等号右边只能是一个数组
2.数组中有几个元素,在list()中就用几个参数,而且参数必数是变量(新声明的自定义变量),不能是值
3.只能将索引数组(下标是连续), 转为变量, 是按下标0开始找的
4.可以在list()参数中通过,空项选择性的接收数组中的元素

    <?php
    //list以空参数接收第二个元素
     list($a, ,$c)=array("龙哥","小弟","小二");

     echo $a."<br>";
     // echo $b."<br>";
     echo $c."<br>";
    //用list分割字符串,explode分割。
    $str="龙哥_好帅";
    list($name,$pro)=explode("_",$str);

    echo $name.'<br>';
    echo $pro.'<br>';

each()函数特性:

each()只是一个函数,参数就是一个数组作为参数,返回的值,也是一个数组

1.返回的值是一个数组,数组固定有4个元素,而且下标也是固定的(1(值) value(值)(0(下标) key(下标))
2.each()只处理当前的元素将当前的元素(默认当前元素是第一元素,指针指向第一个)转为数组信息,处理完后,指针向下一个元素移动
3.如果指定已经在结束位置了,如果在使用each()获取元素,返回false

<?php

$arr=["one"=>"龙哥","小弟","小二"];
//1和value都是输出值,0和key输出都是下标,下边代码只能输出第一个元素,
// $one=each ($arr);
// echo $one['key'].'=>'.$one['value'].'<br>';
// echo $one[0].'=>'.$one[1].'<br>';
echo '<pre>';
//重复使用多次命令,才能全部输出
$one=each($arr);
print_r($one);

$one=each($arr);
print_r($one);

$one=each($arr);
print_r($one);
//数组元素已经没了,在输出只能返回false
$one=each($arr);
var_dump($one);
echo '</pre>';

使用list()、each()和while循环遍历数组:

<?php

$arr=["one"=>"龙哥","小弟","小二","four","five"];
while(list($key,$val)=each($arr)){
    // echo '<pre>';
    // print_r($tmp);
    // echo '</pre>';
    // echo "{$tmp['key']}=>{$tmp['value']}<br>";
    // echo "{$tmp['0']}=>{$tmp['1']}<br>";
    echo "{$key}=>{$val}<br>";
    echo '<br>';
}

使用数组的内部指针控制函数遍历数组:

控制指定的位置

next(); //下一个
prev(); //上一个
reset();//第一个
end(); //最后一个
each(); --- next()
key() 获取当前下标
current() 获取当前的值

$arr =array("one"=>"龙哥","two"=>"小弟","three"=>"观众","four"=>"小四","5"=>"five");

// next($arr);
// next($arr);
// next($arr);

end($arr);
prev($arr);
reset($arr);

echo "当前的位置(默认在第一个):".key($arr)."=>".current($arr)."<br>";

相关文章

  • angular2foreach遍历的几种用法

    遍历简单的数组 遍历数组对象 遍历嵌套数组

  • VS常用四种遍历数组的方法

    目录 for 遍历数组 for in 遍历数组 for of 遍历数组 forEach遍历数组 优缺点总结原文:h...

  • foreach/forin

    1.for/in遍历属性,数组是遍历下标 for/each遍历属性值,数组遍历数组的值

  • JS数组遍历的三种常用方法

    1.数组下标遍历 数组下标遍历是最常用也最普通的数组遍历方式 例如: 2.for in遍历 for in是根据数组...

  • for_of循环

    for(let value of target){}循环遍历 遍历数组 遍历Set 遍历Map 遍历字符串 遍历伪数组

  • PHP中的数组

    数组分类 索引数组 关联数组 数组遍历 传值遍历 传址遍历 数组函数 指针操作函数 current($array)...

  • Go的数组和指针

    一、 定义数组 二、 遍历数组 下标遍历 range遍历(index) range遍历(index,value) ...

  • forEach、for-in与for-of的区别

    遍历数组推荐for of ,遍历对象推荐 for in for in可以用来便利数组和对象 for in在遍历数组...

  • 6.v-for指令

    1.v-for 遍历数组: 遍历对象数组: 遍历对象: 遍历数据 2.key属性:

  • Scala数组操作

    1. 定长数组 2. 变长数组:数组缓冲 3. 遍历数组和数组缓冲 利用下标来进行遍历 不需要数组下标遍历 总结一...

网友评论

      本文标题:数组遍历

      本文链接:https://www.haomeiwen.com/subject/antvettx.html