无法理解行为
|
为什么即使我的代码是这样的:
if ( ! function_exists(\'get_values\')){
global $str;
function getValues($getThem, $tpar, $vpiso, $tcomi, $tgas, $ttotal){
$totalPares = $tpar;
$ventasPiso = $vpiso;
$totalComisiones = $tcomi;
$totalGastos = $tgas;
$totalTotal = $ttotal;
$str = $totalPares . \",\" . $ventasPiso . \",\" . $totalComisiones . \",\" . $totalGastos . \",\" . $totalTotal;
return $str;
}
function getEm(){
return $str;
}
}
我无法覆盖$ str的值。如果我尝试回显它,它总是打印出“ a”,并且在“ getEm”函数中它表示它是未定义的变量。
这是codeigniter框架中的帮助文件。
编辑
这仍然给我这个错误:
遇到PHP错误
严重程度:注意
消息:未定义的变量:str
文件名:
helpers / helper_common_functions_helper.php
行号:15
没有找到相关结果
已邀请:
3 个回复
薄扩络拜
您需要研究变量范围。函数有其自身的作用域,除非您一开始有ѭ2to来访问该函数之外的变量。另请注意,使用全局变量是“ nono”,应不惜一切代价避免使用。
感秆暴壳
然后,您需要实例化该类,然后才能使用它(当然),但是请保持范围整洁
如果仅使用静态属性和方法创建类,则无需实例化(
)。
厢界山攀
旁注:我真的不知道codeigniter的设计水平如何,但是使用名为
的全局变量对我来说听起来像是在问麻烦。给它起一个更好地反映其所属名称和含义的名称。 string10ѭ尽管弦说不多。查找名称的一些技巧。