PHP 7 和 PHP5 foreach 迭代指针移动区别
<?php
class a
{
private static $arrCfg = array(
300 =>array("money"=>1000,"tlen" =>300),
900 =>array("money"=>1200,"tlen" =>900),
1800 =>array("money"=>1500,"tlen" =>1800),
3000 =>array("money"=>2500,"tlen" =>3000),
);
public function getNext($tlen = 0)
{
if(!isset(self::$arrCfg[$tlen])){
return array();
}
foreach (self::$arrCfg as $key=>$val)
{
if($key == $tlen)
{
$next = next(self::$arrCfg);
return $next;
}
next(self::$arrCfg);
}
}
}
$a = new a();
print_r($a->getNext(300));
?>
PHP 7 下运行:
Array
(
[money] => 1200
[tlen] => 900
)
PHP 5 运行:
Array
(
[money] => 1500
[tlen] => 1800
)<?php
class a
{
private static $arrCfg = array(
300 =>array("money"=>1000,"tlen" =>300),
900 =>array("money"=>1200,"tlen" =>900),
1800 =>array("money"=>1500,"tlen" =>1800),
3000 =>array("money"=>2500,"tlen" =>3000),
);
public function getNext($tlen = 0)
{
if(!isset(self::$arrCfg[$tlen])){
return array();
}
foreach (self::$arrCfg as $key=>$val)
{
if($key == $tlen)
{
$next = current(self::$arrCfg);
return $next;
}
// next(self::$arrCfg);
}
}
}
$a = new a();
print_r($a->getNext(300));
?>
Array
(
[money] => 1000
[tlen] => 300
)PHP 5 运行:
Array
(
[money] => 1200
[tlen] => 900
)目测是 PHP5 foreach 循环数组指针下移一位,PHP7 则不移动。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: PHP容易出错点:PHP中的数字与字符串比较
- 下一篇:没有了
