传递变量到功能,我这样做(其他人,我敢肯定):如何在PHP中创建类似WordPress的函数?
function addNums($num1, $num2)
{
$num1 + $num2;
}
addNums(2, 2);
我的问题是如何将构建一个功能,像WordPress的:
wp_list_categories('title_li=');
基本上我正在寻找一种方法来在我的函数中创建一个键/值对。 任何意见表示赞赏。
传递变量到功能,我这样做(其他人,我敢肯定):如何在PHP中创建类似WordPress的函数?
function addNums($num1, $num2)
{
$num1 + $num2;
}
addNums(2, 2);
我的问题是如何将构建一个功能,像WordPress的:
wp_list_categories('title_li=');
基本上我正在寻找一种方法来在我的函数中创建一个键/值对。 任何意见表示赞赏。
您可以使用parse_str解析为参数的字符串。棘手的是,你可能不想让任何和所有参数都通过。所以这里是一个只允许某些参数在传入时使用的示例。
在以下示例中,仅限于foo
,bar
和valid
将被允许。
function exampleParseArgs($arg_string) {
// for every valid argument, include in
// this array with "true" as a value
$valid_arguments = array(
'foo' => true,
'bar' => true,
'valid' = true,
);
// parse the string
parse_str($arg_string, $parse_into);
// return only the valid arguments
return array_intersect_key($parse_into,$valid_arguments);
}
baz
将被丢弃,因为它不是在$valid_arguments
上市。因此,对于这个调用:
print_r(exampleParseArgs('foo=20&bar=strike&baz=50'));
结果:
Array
(
[foo] => 20
[bar] => strike
)
此外,还可以通过从wordpress.org下载它浏览WordPress的Source code here,当然。看起来他们做的事情非常相似。
parse_str()应该做你想要什么:http://www.php.net/parse_str
你在找什么像“return $ array [$ param1] = $ param2;”?对不起,不是一个WordPress的专家..顺便说一句。我会建议给每个参数一个不同的名字! – merkuro 2009-06-22 22:57:34
我不知道addNums示例是否可以正常工作... – alex 2009-06-22 22:58:11