【问题标题】:Array values by function按函数排列值
【发布时间】:2011-03-24 22:46:15
【问题描述】:

关于 PHP 数组的两部分问题(我已经阅读了 php.net 上的 cmets,但没有看到任何关于这可能如何工作的提及。)

我可以用函数填充数组吗?例如,使用 Wordpress:

$arr = array(blog_info('name'), blog_info('stylesheet_url'));

如果是这样,这些函数是仅在调用 $arr[0] 或 $arr[1] 时调用,还是在脚本到达数组时调用?

【问题讨论】:

  • 使用array_map()array_walk()
  • WordPress 函数的名称中没有下划线。

标签: php arrays function


【解决方案1】:

这些函数在包含它们的行执行后立即执行。所以数组将包含这两个函数的返回值。

使用 PHP5.3,您可以在其中存储匿名函数,以后可以调用:

$arr = array(function() {
    return blog_info('name');
}, function() {
    return blog_info('stylesheet_url');
});

然后您可以稍后致电$arr[0]()$arr[1]()

【讨论】:

  • 非常酷。 create_function 在 5.3 之前的兼容性会相似吗?
  • 是的。但是由于您将函数体作为字符串传递,因此非常难看。
  • 是的。不幸的是,我将不得不忍受它,因为我不能保证用户都会使用 5.3。感谢您的帮助!
猜你喜欢
  • 2012-06-27
  • 2016-10-12
  • 1970-01-01
  • 2012-02-05
  • 1970-01-01
  • 2014-07-24
  • 2017-10-18
  • 2011-11-17
  • 1970-01-01
相关资源
最近更新 更多