2014-01-27 38 views
0

訪問數組鍵時,是否有可能做這樣的事情:的指定一個範圍,在PHP

a_function_here($string[0...5]); 

代替:

a_function_here($string[0], $string[1], $string[2], $string[3], $string[4], $string[5]); 

我從來沒有使用過任何這樣的功能,我已經找遍對此有一些參考,但我一直無法遇到任何關於這個。

+1

你能告訴*現實世界中使用的例子*?數組中包含* real *數據,而* real *函數代替'a_function_here'。我相信你正在尋找像「切片/應用」之類的東西,但是一個真實的例子*會澄清這一點。 – user2864740

+0

這個問題解決了嗎? –

回答

0

你可以將一組參數傳遞給已知函數,例如call_user_func_array例如

call_user_func_array('a_function_here', array_slice($string, 0, 6)); 

demo

0

不需要特殊的語法$string[0...5]。你只是想傳遞一個編號的數組$string到功能的元素,所以你可以這樣做:

a_function_here($stringArr); 

而且裏面的功能,你可以這樣做:

function a_function_here(array $stringArr) { 
    foreach ($stringArr as $str) { 
     # function logic here ... 
    } 
    ... 
    return $result; 
} 
+0

如OP所示,傳遞數組對於存在不同參數的現有函數不起作用。 – user2864740

+0

@ user2864740:你不能修改該功能嗎? –