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

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开始,即数组起始位置

$arr=array('name'=>'Waldo','sex'=>'male','age'=>'20');

var_dump($arr);

echo '


';

foreach($arr as $key => $value){

echo $key.' => '.$value.'
';

}

echo '
';

reset($arr);

//因为上面数组的指针已经移动到数组末尾,下面使用each的时候发生指针越界,返回false,导致无法输出值。

//因此使用reset()函数将指针初始化到0开始,即数组起始位置。

echo "使用reset()后将有如下输出:";

while(list($k, $v)=each($arr))

{

echo $k.'=>'.$v.'
';

}

?>

输出如图:

67b1628cddda

TIM截图20180906164521.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值