此问题在此处已有答案:
Callback function using variables calculated outside of it(2个答案)
How to pass multiple variables from global scope into callback scope? [duplicate](1个答案)
两年前关闭了。
我可以回显species和bone变量,但是当我将它们放入下面的代码中时,我得到Notice: Undefined variable: species in <filename>
。
$species = $_GET['species'];
echo $species ;
$bone = $_GET['bone'];
echo $bone ;
function myfilter($row){
return ($row['commonName']== $species && $row['elementName']==$bone);
}
$result = array_filter($data, 'myfilter');
1条答案
按热度按时间jgovgodb1#
您的方法不会实现您想要实现的目标。当您使用
myfilter
作为array_filter
的回调函数时,它不会获取该函数外部的变量。这就是为什么species
和bone
变量会触发注意。您需要通过使用超级全局$_GET(我不喜欢这样)或者像下面这样在array_filter
的回调中传递species,bone。使用超级全局
回调中传递变量