日期:2014-05-16  浏览次数:20464 次

为什么回调函数在array_filter()里面没有起作用?

<?php
function myFunction($v) 
{
if ($v==="Dog")
{
return "Fido";
}
return $v;
}
$a=array("Horse","Dog","Cat");
//Array ( [0] => Horse [1] => Fido [2] => Cat ) 
print_r(array_map("myFunction",$a)); 

//Array ( [0] => Horse [1] => Dog [2] => Cat )
//为什么回调函数在array_filter()里面没有起作用?
print_r(array_filter($a,"myFunction"));
 ?>
array_filter() 回调函数

------解决方案--------------------
去看下array_filter 的用法就会明白
------解决方案--------------------
function myFunction($v) 
    {
    if ($v==="Dog")
        {
            return true;
        }
            return false;
    }
    $a=array("Horse","Dog","Cat");
    //Array ( [0] => Horse [1] => Fido [2] => Cat ) 
    print_r(array_map("myFunction",$a)); 
     
    //Array ( [0] => Horse [1] => Dog [2] => Cat )
    //为什么回调函数在array_filter()里面没有起作用?
    print_r(array_filter($a,"myFunction"));