[英]Calling a function that is inside another function
我有以下文件:
arrayLoader.php
chooseProgram.php
我想打電話從一個函數chooseProgram.php
是在另一個函數內部arrayLoader.php
。
這是我收到的錯誤消息:
致命錯誤:在第6行的C:\\ xampp \\ htdocs \\ testing \\ chooseProgram.php中,調用成員函數loadTitles()為null
arrayLoader.php
function arrayLoader() {
$arrayLoad = (file_get_contents("../files/TEMP_Array"));
function loadTitles() {
return $arrayLoad;
}
return;
}
選擇程序.php
require('../tools/arrayLoader.php');
print "<pre>";
print_r(arrayLoader()->loadTitles());
print "</pre>";
我已經在Google上搜索了,但是我要么不明白發生了什么,要么我嘗試了什么都不起作用。
有人可以幫忙嗎? 謝謝。
函數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";
}
}
?>
因為直到調用abc才定義xyz。
我不知道具有嵌套函數的意義是什么,但是可以通過將父函數更改為類來實現:
arrayLoader.php
class arrayLoader {
function loadTitles() {
$arrayLoad = (file_get_contents("../files/TEMP_Array"));
return $arrayLoad;
}
}
選擇程序.php
require('../tools/arrayLoader.php');
$obj=new arrayLoader;
$result=$obj->loadTitles();
print "<pre>";
print_r($result);
print "</pre>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.