不推荐使用 each() 函数;无法弄清楚如何更改为 foreach [重复]
Posted
技术标签:
【中文标题】不推荐使用 each() 函数;无法弄清楚如何更改为 foreach [重复]【英文标题】:The each() function is deprecated; can't figure out how to change to foreach [duplicate] 【发布时间】:2018-09-07 06:05:18 【问题描述】:<?php
ini_set('error_reporting', E_ALL); // error reporting
// save uploaded files
$i = 1;
while (list ($item, $value) = each ($_FILES))
if(substr($item, 0, 11) == 'imageloader')
$fileName = $i.'.'.substr($item, 11, 3); // make file name
move_uploaded_file($value['tmp_name'], $fileName); // save file
$i++;
?>
我需要使用 foreach。我试过了,但它不起作用。谁能帮我将EACH
更改为FOREACH
循环?
【问题讨论】:
foreach ($_FILES as $yourvar) blahblah with $yourvar
【参考方案1】:
更改while (list ($item, $value) = each ($_FILES))
到
foreach( $_FILES as $key => $file )
上面的语法太老了,不应该使用。
此外,您没有正确获得扩展以获取扩展使用
$ext = pathinfo($file['name'], PATHINFO_EXTENSION);
【讨论】:
【参考方案2】:这些是foreach 语法:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
在你的情况下是:
<?php
ini_set('error_reporting', E_ALL); // error reporting
// save uploaded files
$i = 1;
foreach ($_FILES as $item => $value))
if(substr($item, 0, 11) == 'imageloader')
$fileName = $i.'.'.substr($item, 11, 3); // make file name
move_uploaded_file($value['tmp_name'], $fileName); // save file
$i++;
?>
【讨论】:
以上是关于不推荐使用 each() 函数;无法弄清楚如何更改为 foreach [重复]的主要内容,如果未能解决你的问题,请参考以下文章