Php 数组映射内联匿名函数

Php 数组映射内联匿名函数,php,array-map,Php,Array Map,我用array\u map 它确实有效,但当我尝试使用$user\u meta时,它不起作用 $user_meta = Array ( [interest] => Array ( [0] => Array ) [type] => Array ( [0] => Array ) [user_status] => Array ( [0] => deny) [firstname] => Array ( [0] => ) [lastna

我用
array\u map

它确实有效,但当我尝试使用$user\u meta时,它不起作用

$user_meta = Array ( [interest] => Array ( [0] => Array ) [type] => 
     Array ( [0] => Array ) [user_status] => Array ( [0] => deny)
     [firstname] => Array ( [0] => ) [lastname] => Array ( [0] => B ) 
     [email] => email@cc.com ) 

$user_meta = array_map(function($a) { return $a[0]; },$user_meta);
“分析错误:语法错误,意外的T_函数,中应为”“。”


数组映射的
行没有问题,但之前的所有内容都是错误的。这是
print\r
的输出,而不是PHP代码。比较您在发布的两个链接中如何定义数组。

我希望这会有所帮助:

$user_meta = array_map(function ($a) { return $a[0]; }, $user_meta);

这不是您问题的答案,但由于您希望返回每个子数组的第一个键,因此可以使用
array\u列

$user_meta = array_column($user_meta, 0);

您对$user\u元数组的定义对于PHP数组无效,它是print\u r()输出,格式化为适合人类阅读的yp.s。内联匿名函数仅在PHP 5.3+@Paulpro中工作。为什么要回滚格式更改?电子邮件中出现问题!需要在引号中加上“email@cc.com“我在传递带有参数的数组时遇到了相同的错误..我只能通过显式调用函数使其工作..”。。你有哪个版本的PHP?大多数人现在至少有5.3版本,你的代码在5.3及更高版本中运行良好。我使用的是PHP5.5,只有你可以检查更新的链接。它再次显示errors@BLPraveen标题为:
5.3.0-5.5.1的输出部分中没有错误。仅在旧版本的部分中。@BLPraveen添加了一些输出,以便您可以看到它的工作原理:这是一个很好的答案,除了备注
之外,关键字函数及其参数之间必须有一个空格。因为我删除了空格,没有问题。
function
关键字后面的空格真的不重要。。。!空格没有变化。是的,语法看起来不错。$user\u元定义中应该有错误。