在commons.php
中定义一个函数
desktop.php -> include commons.php
|
|
\|/
include MODULES.'mod.php'
我可以在任何地方调用自定义函数,但不能在 if 语句内的 exit 中调用。以下代码中调用函数的部分将不会执行:
Mod.php:
....
$error = mysql_error();
if($_ADM['id_user']==1) {
if(!empty($error)) {
$debug = array(
'message' => "SQL Error in infography_edit module.",
'line' => '79',
'error' => $error,
'SQL' => $SQL
);
//exit(myPrint($debug)); //Calling here myPrint does not work
exit(print_r($debug)); //This works
}
}
$test = array('alex');
exit(myPrint($debug)); //Calling here myPrint works
....
// The output error: Call to undefined function myPrint()
我就是无法理解为什么除了上述代码以外的任何其他地方都能够正常工作,但是在其中没有重新定义变量的情况下不能正常工作。
更新
以这种方式做似乎也不起作用:
myPrint($debug);
exit();
// The output error: Call to undefined function myPrint()
更新2
主文件 desktop.php:
- 要求(require) libs 文件夹下的 commons.php 文件;
- 插入通用 HTML 代码;
- 包含相关模块。
桌面端的代码可在以下链接中查看:http://codepad.org/hn8QlHQ9
if
语句周围没有加上任何花括号。 - gen_Ericexit();
之前,您没有包含包含函数定义的文件! - DaveRandommyPrint
在if语句外部是可以工作的...但在内部就不行。 - Alexprint_r($debug)
会将内容输出到屏幕上并且不返回任何值。而print_r($debug, true)
则会返回一个字符串。 - gen_Eric