如何不使用each()来重写此函数?

时间:2019-06-09 00:52:40

标签: php each

我有一个订单商品数组,并且我正在折叠该数组,以便重复行仅显示为1行,并根据数量在行末显示“ x 2”或“ x 3”等。 / p>

代码正在运行,但出现此警告/错误:

  

不推荐使用:不推荐使用each()函数。此消息将在以后的通话中被取消...

如何在不使用 each()的情况下重写函数以使其正常工作?

$order_lean=array_count_values($order);
$lean = array();
$str = "";
$first = 1;
while(list($key,$val) = each($order_lean)){ // <---
    array_push($lean, "$val x $key");
    if($first){
        $first = 0;
    }else{
        $str .= "\n";
    }
    $str .= "$val x $key";
}
return $str;

1 个答案:

答案 0 :(得分:1)

只需将您的while(list($key,$val) = each($order_lean)) {替换为:

foreach ($order_lean as $key => $val) {

来源:https://www.php.net/manual/en/control-structures.foreach.php