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

时间:2014-07-31 19:33:52

标签: php arrays loops foreach

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

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");这样的多索引数组,但它不会进入循环内部!可能是一个非常小的东西,但我已经这么久了,我想也许我可以从一双新鲜的眼睛中寻求帮助......

谢谢!

2 个答案:

答案 0 :(得分:2)

你有一个拼写错误 - $this->fileNames vs $this->filenames。 PHP区分大小写。

答案 1 :(得分:1)

您的循环中名为$this->filenames的var尚未声明,您必须将其替换为$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...");