不推荐使用PHP 7.2:while = every()循环没有$ value

Pet*_*ylä 9 php each foreach deprecated while-loop

由于每个()循环从PHP 7.2开始不推荐使用,如何在没有$ value的情况下更新下面的while((= = each())循环?

如果没有$ value,我就无法使foreach循环工作.另外,while($ products_id = $ this-> contents)导致无限循环.

谢谢!

$total_items = 0;

reset($this->contents);
while (list($products_id, ) = each($this->contents)) {
    $total_items += $this->get_quantity($products_id);
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*ylä 28

我找到了解决问题的方法,并考虑分享信息.以下是有关如何将each()循环升级到foreach()的其他案例.

案例1:缺少$ value

reset($array);
while (list($key, ) = each($array)) {
Run Code Online (Sandbox Code Playgroud)

更新至:

foreach(array_keys($array) as $key) {
Run Code Online (Sandbox Code Playgroud)

案例2:缺少$ key

reset($array);
while (list(, $value) = each($array)) {
Run Code Online (Sandbox Code Playgroud)

更新至:

foreach($array as $value) {
Run Code Online (Sandbox Code Playgroud)

案例3:没有遗漏任何东西

reset($array);
while (list($key, $value) = each($array)) {
Run Code Online (Sandbox Code Playgroud)

更新至:

foreach($array as $key => $value) {
Run Code Online (Sandbox Code Playgroud)