注意:未定义的变量:第24行的/Users/tyrant/workspace/apache/fileManager/dir.func.php中的arr [重复]

Here is my php code:

function readDirectory($path) {
$handle = opendir($path);
while( $item = readdir($handle) !== false) {

    if($item != "." && $item != "."){
        if (is_file($path . "/" . $item)) {
            $arr ['file'] [] = $item;
        }
        if (is_dir($path . "/" . $item)) {
            $arr ['dir'] [] = $item;
        }

    }
}
closedir($handle);
return $arr;  //line 24

}

$path = "file";
print_r(readDirectory($path));

But constantly getting these errors:

Notice: Undefined variable: arr in /Users/tyrant/workspace/apache/fileManager/dir.func.php on line 24

How do I resolve this problem?

</div>

just build an empty arr in your function

function readDirectory($path) {
  $handle = opendir($path);
  $arr = array();
  while( $item = readdir($handle) !== false) {

      if($item != "." && $item != "."){
        if (is_file($path . "/" . $item)) {
          $arr ['file'] [] = $item;
      }
      if (is_dir($path . "/" . $item)) {
          $arr ['dir'] [] = $item;
     }

  }
 }
 closedir($handle);
 return $arr;  //line 24
}

$path = "file";
print_r(readDirectory($path));

so it will return allways an array and a filled array if your logic fires

You need to create $arr instance, just like that: $arr = array();