我从来没有使用过array_filter函数,因此无论我使用什么作为函数名称它给我一个错误
Warning: array_filter() expects parameter 2 to be a valid callback, function 'odd' not found or invalid function name in
我甚至采取了直接从php手册页复制粘贴示例的步骤,它给了我同样的错误。代码:
function odd($var) {
// returns whether the input integer is odd
return($var & 1);
}
function calculate($res, $period, $elements, $per, $total, $brand = false) {
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
}
我真的不知道该往哪里去。通常当我遇到问题时,我可以将代码完全复制并粘贴到php手册页上并从那里开始工作,但是如果他们的例子甚至不起作用,那就很难了。
答案 0 :(得分:6)
我认为在你的情况下,函数odd不是一个独立的函数,而是你的类的方法。在这种情况下,你应该写
print_r(array_filter($array1, array($this,"odd")));
从你的班级中运行奇怪的方法
答案 1 :(得分:0)
如果您的类相同,并且您以递归方式调用方法,则
PHP不知道该方法是否属于每个类,这就是为什么要使用
WaitForInputIdle()
在数组中:
$this