无论我输入什么,都找不到php array_filter函数或函数名无效

mr *_*sin 3 php arrays

我从来没有使用过array_filter函数,因此无论我使用什么作为函数名称它给我一个错误它给我一个错误

Warning: array_filter() expects parameter 2 to be a valid callback, function 'odd' not found or invalid function name in
Run Code Online (Sandbox Code Playgroud)

我甚至采取了直接从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"));
}
Run Code Online (Sandbox Code Playgroud)

我真的不知道去哪里.通常当我遇到麻烦时,我可以完全从php手册页复制并粘贴代码,然后从那里开始工作,但如果他们的例子甚至不起作用,那就很难了.

Mar*_*łek 6

我认为在你的情况下,函数odd不是一个独立的函数,而是你的类的方法.在那种情况下你应该写

print_r(array_filter($array1, array($this,"odd")));
Run Code Online (Sandbox Code Playgroud)

从你的班级运行奇怪的方法