【问题标题】:How can I rewrite this function without using each()? [duplicate]如何在不使用 each() 的情况下重写此函数? [复制]
【发布时间】: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;

【问题讨论】:

    标签: php each


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-04-02
      • 2019-06-15
      • 2017-05-10
      • 2023-03-08
      • 2018-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多