美文网首页程序员
PHP之each()函数输出空白问题

PHP之each()函数输出空白问题

作者: Waldo_cuit | 来源:发表于2018-09-06 16:57 被阅读3次

each()函数

(PHP 4, PHP 5, PHP 7)

each — 返回数组中当前的键/值对并将数组指针向前移动一步

Warning

This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged.

说明

array each ( array &$array )

返回数组中当前的键/值对并将数组指针向前移动一步

在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用 reset()

foreach()函数

(PHP 4, PHP 5, PHP 7)

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key

注意

each()和foreach()都会移动指针

为什么输出空白?

一定是因为在使用each()函数之前使用了foreach()函数

这时要使用reset()函数将指针初始化到0开始,即数组起始位置

<?php
    $arr=array('name'=>'Waldo','sex'=>'male','age'=>'20');
    var_dump($arr);
    echo '<hr>';

    foreach($arr as $key => $value){
        echo $key.' => '.$value.'<br>';
    }
    echo '<br>';

    reset($arr);
    //因为上面数组的指针已经移动到数组末尾,下面使用each的时候发生指针越界,返回false,导致无法输出值。
    //因此使用reset()函数将指针初始化到0开始,即数组起始位置。
    echo "使用reset()后将有如下输出:";

    while(list($k, $v)=each($arr))
    { 
        echo $k.'=>'.$v.'<br>';
    }
?>  

输出如图:

TIM截图20180906164521.png

相关文章

  • PHP之each()函数输出空白问题

    each()函数 (PHP 4, PHP 5, PHP 7) each — 返回数组中当前的键/值对并将数组指针向...

  • php中隐形字符65279(utf-8的BOM头)问题

    今天在CSDN看到一个php输出空白隐形字符65279的问题,在网上找了下,发下这个65279字符是php用来标记...

  • PHP中一些函数方法

    php自定义函数之递归函数 php自定义函数之静态变量 php​ 使用系统内置函数 亚麻跌”是PHP学习时间处理的...

  • phpstrom配置xdebug

    php安装xdebug 去官网下载php对应版本的xdebug。如下输出phpinfo()函数的内容,查看输出页面...

  • 支付宝在php7.2的问题

    支付宝支付的时候遇到的问题,这种是因为php7+以上版本抛弃了each函数导致,我们来纠正即可: 在343行(也可...

  • PHP安全函数phpinfo()

    PHP安全函数phpinfo() phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境...

  • 一. PHP入门篇和PHP进阶篇

    PHP基础语法 PHP数组 PHP函数 PHP之类和对象 PHP字符串 PHP之正则表达式 PHP之cookie ...

  • PHP输出控制函数

    PHP输出控制函数 ob_start ([ callback $output_callback [, int $c...

  • PHP变量

    为何输出10,而非100?全局变量和局部变量问题 输出10 输出100 输出1、b 输出3、b PHP变量 PHP...

  • PHP缓存技术OB系统函数

    PHP缓存技术OB系统函数 主要函数:ob_start()函数:打开输出缓冲区.函数格式void ob_start...

网友评论

    本文标题:PHP之each()函数输出空白问题

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