我有以下文件:
arrayLoader.php
chooseProgram.php
我想调用来自chooseProgram.php
中另一个函数内的arrayLoader.php
的函数。
以下是我收到的错误消息:
致命错误:在第6行的C:\ xampp \ htdocs \ testing \ chooseProgram.php中调用null上的成员函数loadTitles()
arrayLoader.php
function arrayLoader() {
$arrayLoad = (file_get_contents("../files/TEMP_Array"));
function loadTitles() {
return $arrayLoad;
}
return;
}
chooseProgram.php
require('../tools/arrayLoader.php');
print "<pre>";
print_r(arrayLoader()->loadTitles());
print "</pre>";
我用谷歌搜索了,但我要么不明白发生了什么,要么我尝试了什么都行不通。
有人可以帮忙吗?感谢。
答案 0 :(得分:0)
函数loadTitles依赖于arrayLoader,所以你应该先调用arrayLoader然后再调用loadTitles。
即。它会起作用。
<?php
abc();
xyz();
function abc(){
echo "abc";
function xyz(){
echo "xyz";
}
}
?>
它不起作用
<?php
xyz();
function abc(){
echo "abc";
function xyz(){
echo "xyz";
}
}
?>
因为没有定义xyz,所以不会调用abc。
答案 1 :(得分:0)
我不知道嵌套函数有什么意义,但这可以通过将父函数更改为类来完成:
arrayLoader.php
class arrayLoader {
function loadTitles() {
$arrayLoad = (file_get_contents("../files/TEMP_Array"));
return $arrayLoad;
}
}
chooseProgram.php
require('../tools/arrayLoader.php');
$obj=new arrayLoader;
$result=$obj->loadTitles();
print "<pre>";
print_r($result);
print "</pre>";