无法在对象中循环数组元素


Unable to loop array elements in an object

我有一个类,在这个类中我有一个解压缩文件数组的函数。以下是代码的相关部分:

private function unzipFiles()
{
    $this->fileNames = array("file1.zip");
    $this->terminalPrint("Starting to unzip files...");
    foreach($this->filenames as $file)
    {
        $this->terminalPrint("Unzipping $file");
        ..... //other operations
    }
    $this->terminalPrint("Finished uzipping files...");

我的问题是,当我调用这个函数,它打印Starting to unzip files...,但从来没有进入循环打印Unzipping file1.zip。也不会异常退出。它只是方便地跳过foreach loop而打印Finished uzipping files...

我试着给像array("file1.zip","file2.zip","file3.zip");这样的多索引数组,但它只是没有进入循环!可能是一件很小的事情,但我已经做了这么长时间,我想也许我可以从一双新鲜的眼睛那里得到帮助…

谢谢! !

您有一个错别字- $this->fileNames vs $this->filenames。PHP是区分大小写的

还没有在循环中声明名为$this->filenames的变量,您必须将其替换为$this->fileNames:

private function unzipFiles()
{
    $this->fileNames = array("file1.zip");
    $this->terminalPrint("Starting to unzip files...");
    foreach($this->fileNames as $file)
    {
        $this->terminalPrint("Unzipping $file");
        ..... //other operations
    }
    $this->terminalPrint("Finished uzipping files...");