• PHP each() 函数


    转自http://www.w3school.com.cn/php/func_array_each.asp

    定义和用法

    each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。

    返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。

    如果内部指针越过了数组范围,本函数将返回 FALSE。

    语法

    each(array)
    参数描述
    array 必需。规定要使用的数组。

    例子 1

    <?php
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    print_r (each($people));
    ?>

    输出:

    Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 )

    例子 2

    each() 经常和 list() 结合使用来遍历数组。本例与上例类似,不过循环输出了整个数组:

    <?php
    $people = array("Peter", "Joe", "Glenn", "Cleveland");
    
    reset($people);
    
    while (list($key, $val) = each($people))
      {
      echo "$key => $val<br />";
      }
    ?>

    输出:

    0 => Peter
    1 => Joe
    2 => Glenn
    3 => Cleveland

    例子解释

    因为将一个数组赋值给另一个数组时会重置原来的数组指针,因此在上例中如果我们在循环内部将 $people 赋给了另一个变量的话将会导致无限循环。

    注意:

    如下代码:

    <?php
    $url=array('新浪' => 'www.sina.com',
    '雅虎' => 'www.yahoo.com',
    '网易' => 'www.163.com',
    '腾讯' => 'www.qq.com',
    '百度' => 'www.baidu.com',
    );
    while($leach=each($url)){
    echo $leach['key'];
    echo "-";
    echo $leach['value'].'<br>';
    }

    $test1=each($url);
    echo $test1['key'];
    echo $test1['value'].'<br>';
    foreach ($url as $link){
    echo $link.'<br>';
    }
    foreach ($url as $site=>$link){
    echo $site,$link;
    echo "<a href= http://$link>$site</a><br>";
    }
    $url1=array('13.5','25','62');
    $leach=each($url1);
    echo $leach['key'] .'<br>';
    echo $leach['value' ] .'<br>';
    print_r($leach);
    ?>

    你可以运行一下知道结果是这样的:

    为什么单独用each却没有输出??

    因为数组的指针已经在while循环后指向空,调用each就没有输出。所以单独调用each是要小心,一般不要和循环一起使用,否则就会出错。

    另外:此处的$leach['key'],和$leach['value']最好加引号   否则有些php服务器不支持key 和value关键字而报错!!

  • 相关阅读:
    JDBC第一部分
    java mysql学习第三部分
    java mysql 第六部分
    java mysql学习第五部分
    java mysql学习第二部分
    java mysql学习第一部分
    元注解
    改良之前写的模拟栈代码
    java中如何自定义异常
    java中的语法规则
  • 原文地址:https://www.cnblogs.com/yujianshiguang/p/3168478.html
Copyright © 2020-2023  润新知