【发布时间】:2016-05-22 06:21:09
【问题描述】:
我有包含各种值的多维数组,并希望根据用户输入到 HTML 表单中来调出适当的数组或$profile。
我已经开始使用 array_map 、 array_filter 和闭包,但我对它们都很陌生,所以我非常感谢您的代码解决方案的解释以帮助我学习。我知道有很多类似的问题,但我似乎无法理解它们。
<?php
$profileArray = array(
array( 'Name' => "Toby",
'Age' => 3,
'Gender' => "Male",
),
array( 'Name' => "Cassie",
'Age' => 3,
'Gender' => "Female",
),
array( 'Name' => "Lucy",
'Age' => 1,
'Gender' => "Female",
),
);
$profiles = $profileArray[1][2][3];
class profileFilter {
function get_profile_by_age ($profiles, $age){
return array_filter ($profiles, function($data) use ($age){
return $data->age === $age;
});
}
}
var_dump (get_profile_by_age ($profiles, 3));
当我在浏览器中尝试此操作时,var_dump 出现语法错误
编辑:我已经修复了建议的语法错误,但仍然没有运气。我正确调用我的数组吗?我觉得我也错过了一个步骤或语法。
【问题讨论】:
-
确切的语法错误信息是什么?
-
你错过了
profileFilter类定义的右花括号 -
@rsz 解析错误:语法错误,意外的 'var_dump' (T_STRING),期望函数 (T_FUNCTION)
-
@rsz 在按照 RomanPerekhrest 的建议关闭该括号后,显示了一个新错误:致命错误:未捕获的错误:调用未定义的函数 get_profile_by_age() 并注意:未定义的偏移量
-
您在
var_dump之前缺少}- 投票结束。