如何将此函数添加到数组中

时间:2013-07-24 13:08:56

标签: php arrays function

是否可以包含此功能

function Get_All_Wordpress_Menus(){
    return get_terms( 'nav_menu', array( 'hide_empty' => true ) ); 
}

进入这个数组

array(
    'options' => ADD_FUNCTION_HERE,
);

4 个答案:

答案 0 :(得分:0)

你需要这个吗?

function Get_All_Wordpress_Menus(){
    return get_terms( 'nav_menu', array( 'hide_empty' => true ) ); 
}

$arr = array(
    'options' => Get_All_Wordpress_Menus(),
);

答案 1 :(得分:0)

如果要将函数存储在数组中,请执行以下操作:
Example

function foo($text = "Bar")
{
    echo $text;
}

// Pass the function to the array. Do not use () here.
$array = array(
    'func' => "foo" // Reference to function
);

// And call it.
$array['func'](); // Outputs: "Bar"
$array['func']("Foo Bar"); // Outputs: "Foo Bar"

如果你需要传递返回值,这很简单(假设前面的例子):

$array['value'] = foo();

答案 2 :(得分:0)

如果您需要存储函数本身,请使用匿名函数

$arr = array(
    'options' => function()
                {
                    return get_terms( 'nav_menu', array( 'hide_empty' => true ) );  
                }
);

然后您可以将其称为

$func = $arr['options'];
$func();

http://php.net/manual/en/functions.anonymous.php

请注意,在PHP 5.3之前,这是不可能的。虽然Closure objects within arrays before PHP 5.3

中描述了一种解决方法

答案 3 :(得分:0)

  function Get_All_Wordpress_Menus($call){


$call = get_terms( 'nav_menu', array( 'hide_empty' => true ) ); 
return $call;
 }


$array = array(
'options' => $call,
);

OR

 $array = array(
'options' => Get_All_Wordpress_Menus($call),
);