傳遞變量到功能,我這樣做(其他人,我敢肯定):如何在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