好吧,我知道這聽起來很奇怪,但我需要做一個函數,它將接收兩個參數,第一個是字符串,第二個是數組(包含字符串)。如何使用與數組值相對應的可變數量的參數調用函數?
該功能然後將呼叫sprintf。我的第一個參數是$format
,我的陣列將對應各種$args
。
我該如何做到這一點(如果可能)?
謝謝!
好吧,我知道這聽起來很奇怪,但我需要做一個函數,它將接收兩個參數,第一個是字符串,第二個是數組(包含字符串)。如何使用與數組值相對應的可變數量的參數調用函數?
該功能然後將呼叫sprintf。我的第一個參數是$format
,我的陣列將對應各種$args
。
我該如何做到這一點(如果可能)?
謝謝!
那麼你想要的vsprintf()功能。
就像Orbling回答,對於這種特殊情況你需要vsprintf。
但是,在一般情況下,要調用具有可變數量參數的函數,可以在需要接受多個(任意數量的可變參數)的函數內使用func_get_args()。這個函數(當你的函數調用時)返回一個數組,其中包含調用函數時傳遞的所有參數。
是的,就是這麼多。 PHP幾乎具有任何功能。 – 2010-12-01 20:24:41
儘管令人討厭的是,如果數組變體不存在,它似乎沒有一個函數可以實現OP爲*內置*函數所需的功能。對於用戶定義的,你可以使用`call_user_func_array()`。 – Orbling 2010-12-01 20:27:38