我不明白这个东西是如何工作的,但我需要创建一个新函数并将其存储在一个变量中。然后,使用array_filter
,删除所有年龄不足的狗。以下是我创建至今:将函数存储在变量中
$animals = [
[ 'name' => 'Waffles', 'type' => 'dog', 'age' => 12],
[ 'name' => 'Fluffy', 'type' => 'cat', 'age' => 14],
[ 'name' => 'Spelunky', 'type' => 'dog', 'age' => 4],
[ 'name' => 'Hank' , 'type' => 'dog', 'age' => 11],
];
$youngDogs = function ($animals, $filter){
array_filter(
$animals,
function($animals, $age = 5){
$arr = [];
if($animals['type'] == 'dog' && $animals['age'] < $age)
{
$arr = [
'name' => $animals['name'],
'type' => $animals['type'],
'age' => $animals['age'],
];
}
return $arr;
}
);
};
var_dump($youngDogs($animals, 5));
我的想法是创建一个新的阵列和存储符合条件并返回它的狗,但一切是一个烂摊子和函数返回NULL和我不不知道发生了什么。任何人都可以给我一个提示吗?
谢谢!我从来不会想出如何使用'$ age'! – pidari