我有一个简单的PHP功能。然而,无论如何,它每次都会失败。
function for determining tomato pic
echo "$info[2]";
function tomato()
{
if(intval($info[2]) > 60)
return "fresh";
else if(intval($info[2]) < 60)
return "rotten";
}
它在页面上回显95,但随后返回“烂”。有什么想法吗?
答案 0 :(得分:3)
函数不从父作用域继承变量。有几种方法可以解决这个问题:
1:将它们作为参数传递
function tomato($info) {...}
tomato($info);
2:如果是匿名函数,请使用use
子句
$tomato = function() use ($info) {...}
3 :(不推荐)使用global
关键字&#34;导入&#34;变量
function tomato() {
global $info;
...
}
4 :(非常糟糕,但为了完整性而添加)使用$GLOBALS
数组
function tomato() {
// do stuff with $GLOBALS['info'][2];
}
答案 1 :(得分:1)
你必须让函数知道变量,试试
function tomato() {
global $info;
...
或者,将值作为参数传递给函数:
function tomato($tomatocondition) {
if(intval($tomatocondition) > 60)
return "fresh";
else if(intval($tomatocondition) < 60)
return "rotten";
并称之为......
echo tomato($info[2]);