首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP数组元素调用函数?!$a=$b['c']($d,$e,$f);

PHP数组元素调用函数?!$a=$b['c']($d,$e,$f);
EN

Stack Overflow用户
提问于 2014-05-17 17:01:19
回答 3查看 53关注 0票数 1

有人能解释一下这段代码是怎么回事吗?

我可以看到它是一个名为b的数组,它访问一个带有键'c‘的元素,但是括号中的东西呢?我不知道这是怎么回事。

代码语言:javascript
复制
$a=$b['c']($d,$e,$f);
EN

回答 3

Stack Overflow用户

发布于 2014-05-17 17:03:09

$b['c']必须是函数名。

试着把它打印出来,你会看到的。

代码语言:javascript
复制
$a=$b['c']($d,$e,$f);

调用该函数,并向其传递$d$e$f参数。

尝试:

代码语言:javascript
复制
<?php

$func = 'var_dump';
$foo = array(1,2,3);
$func($foo)
票数 3
EN

Stack Overflow用户

发布于 2014-05-17 17:03:38

看起来你正在看一个variable function

上面的表达式首先计算关联数组$a=$b['c'],然后通过传递参数$d,$e,$f调用具有该名称的函数。

从描述中可以看出:

PHP支持变量函数的概念。这意味着如果变量名后面附加了括号,PHP将查找与该变量的值相同的函数,并尝试执行该函数。除此之外,它还可用于实现回调、函数表等。

票数 0
EN

Stack Overflow用户

发布于 2014-05-17 17:04:41

似乎key c中的元素应该是一个函数。

PHP5中,您可以使用这种简短的符号。将使用参数d、e和f调用该函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23709485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档