我在类中有一个函数,每次使用时我都会在foreach中得到错误的未定义函数in_array_r()
。但是当我在课外使用它作为正常功能时,它可以工作。我想在课堂内使用它,所以我不会在每一页都打电话。
public function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
答案 0 :(得分:1)
该函数是递归的 - 它正在调用自身。当您将其放入类(作为方法)时,您需要更新方法体内in_array_r()
的引用。
此:
. . .(is_array($item) && in_array_r($needle, . . .
变为:
. . .(is_array($item) && $this->in_array_r($needle, . . .
答案 1 :(得分:1)
您需要将方法分配给对象。
$this->in_array_r();