這裏是我的問題,我想有一個會定義我的函數參數,像這樣的字符串:使用一個變量定義PHP函數參數
function blabla($param1, $param2){
my cool code . $param1 . $param2;
}
$params = 'param1, param2';
blabla($params);
的問題是,當我這樣做,他使用字符串「參數1,參數2」爲一體的論點,而不是兩個,好像我要2
這裏是我的問題,我想有一個會定義我的函數參數,像這樣的字符串:使用一個變量定義PHP函數參數
function blabla($param1, $param2){
my cool code . $param1 . $param2;
}
$params = 'param1, param2';
blabla($params);
的問題是,當我這樣做,他使用字符串「參數1,參數2」爲一體的論點,而不是兩個,好像我要2
你是如何做到這一點,你不能。但是,請注意call_user_func_array
,因爲它可能會解決您正在嘗試執行的操作。示範如下:
function blabla($param1, $param2){
echo "my cool code $param1 $param2";
}
$params = 'does,work';
call_user_func_array('blabla', explode(',', $params));
你是最棒的,事實上,這正是我想要做的事情,thx很多,什麼是call_user_func_array到底在做什麼? –
@YannChabot它所做的就是將參數傳遞給你想要的功能。該數組是一個索引數組,可以保存它們,並且可以傳遞該函數允許的許多參數。 – Jon
使用explode()
PHP函數
function blabla($param){
$params = explode(',', $param);
$param1 = $params[0];
$param2 = $params[1];
}
$params = 'param1, param2';
blabla($params);
這是一個非常落後的事情要做,但你會親通過將你的字符串分解爲一個值數組,並使用call_user_func_array
將這些值作爲參數傳遞給函數來做到這一點。
function blah($x, $y) {
echo "x: $x, y: $x";
}
$xy = "4, 5";
$params = explode(", ", $xy);
# Just like calling blah("4", "5");
call_user_func_array('blah', $params);
我卻又提醒你,你可能已經選擇了錯誤的解決方案,無論您的問題。
+1。 –
PHP將此解釋爲一個參數,因爲您指定了一個字符串,它恰好包含一個逗號;只是要考慮未來。
我知道!我明白了這個問題,只是不知道如何讓PHP理解這個字符串不是'嘿,喲',而是''嘿','喲''' –
很簡單的東西是:
function blabla($param1, $param2){
my_cool_code . $param1 . $param2;
}
blabla($param1, $param2);
首先,函數名稱不能有一個 '$'。其次,你只有2個參數,你可以通過這個函數傳遞兩個參數,就像上面一樣。
代碼現在很好用:)
不是PHP如何工作,先生。除此之外,函數不以$開頭。你最好預期一個數組作爲你的函數參數,併爲這個警告傳遞數組('param1','param2') –