扫描目录,创建php数组,新键从1开始,随着找到的每个文件而上升(我的所有键都是[1])

扫描目录,创建php数组,新键从1开始,随着找到的每个文件而上升(我的所有键都是[1]),php,arrays,Php,Arrays,尝试扫描一个目录,然后将它找到的文件放入一个数组中,稍后我可以在for each循环中调用该数组,但无法获得我当前代码所需的结果 <?php $files = scandir('audio'); foreach ($files as $file) { $arr = array($file); $iOne = array_combine(range(1, count($arr)), array_values($arr)); echo "<pre>"; print_r($iOn

尝试扫描一个目录,然后将它找到的文件放入一个数组中,稍后我可以在for each循环中调用该数组,但无法获得我当前代码所需的结果

<?php

$files = scandir('audio');
foreach ($files as $file) {

$arr = array($file);
$iOne = array_combine(range(1, count($arr)), array_values($arr));
echo "<pre>";
print_r($iOne);
echo "</pre>";

}

?>
当我想

<?php
$files = scandir('audio');
$files = array_slice($files, 2);
$files = array_combine(range(1, count($files)), $files);
foreach ($files as $file) {
echo "<pre>";
print_r($file);
echo "</pre>";
}
?>
注意:我还从第二个输出中删除了
&

我对PHP和数组非常陌生,因此,尽管我读过几个类似的问题,但我对PHP和数组的理解不够,这使我无法达到预期的效果。提前谢谢

编辑:我试过尼克建议的答案

audio1.mp3
audio2.mp3
audio3.mp3
audio4.mp3
不是


$files
已经是一个数组;您只需从中删除
项即可。它们将是前两个条目,假设您的文件名都以字母开头。然后,如果需要,可以重新编制索引:

$files=scandir('audio');
$files=array\u slice($files,2);
$files=array_combine(范围(1,计数($files)),$files);
回声“;
打印(文件);
回声“;

$files
已经是一个数组;您只需从中删除
项即可。它们将是前两个条目,假设您的文件名都以字母开头。然后,如果需要,可以重新编制索引:

$files=scandir('audio');
$files=array\u slice($files,2);
$files=array_combine(范围(1,计数($files)),$files);
回声“;
打印(文件);
回声“;

为什么要将键从1开始?我想将这些值用于不能从0开始的后续函数为什么要将键从1开始?我想将这些值用于不能从0开始的后续函数请检查我在操作底部的编辑,谢谢。@GlenKeybit just
print\r($files)
,如果我打印($files),则不需要foreach的
循环;我确实得到了我想要的数组,但它重复了4次?您不需要
foreach
循环。查看我编辑的代码。谢谢Nick,正如您回答的那样,我发现我不需要for each循环。:-)请在我的作品底部查看我的编辑,谢谢。@GlenKeybit just
print\r($files)
,如果我打印($files),则不需要foreach的
循环;我确实得到了我想要的数组,但它重复了4次?您不需要
foreach
循环。查看我编辑的代码。谢谢Nick,正如您回答的那样,我发现我不需要for each循环。:-)
<?php
$files = scandir('audio');
$files = array_slice($files, 2);
$files = array_combine(range(1, count($files)), $files);
foreach ($files as $file) {
echo "<pre>";
print_r($file);
echo "</pre>";
}
?>
audio1.mp3
audio2.mp3
audio3.mp3
audio4.mp3
 Array
    (
        [1] => audio1.mp3
        [2] => audio2.mp3
        [3] => audio3.mp3
        [4] => audio4.mp3
    )
$files = scandir('audio');
$files = array_slice($files, 2);
$files = array_combine(range(1, count($files)), $files);
echo "<pre>";
print_r($files);
echo "</pre>";