如何在不使用 each() 的情况下重写此函数? [复制]

Posted

技术标签:

【中文标题】如何在不使用 each() 的情况下重写此函数? [复制]【英文标题】:How can I rewrite this function without using each()? [duplicate] 【发布时间】:2019-10-23 22:57:42 【问题描述】:

我有一个订单项目数组,我正在折叠该数组,以便重复行仅显示为 1 行,根据数量在行尾带有“x 2”或“x 3”等。

代码正在运行,但我收到此警告/错误:

已弃用: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】:

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

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

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

【讨论】:

以上是关于如何在不使用 each() 的情况下重写此函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有箭头函数的情况下重写这个 JS 方法?

在不使用递归的情况下重写递归函数

是否可以在不重写的情况下将数据添加到文件中?

我如何在不使用过滤器命令的情况下重写这部分

在不使用相关子查询的情况下重写查询

我如何(url)在不破坏 mime 的情况下重写?