2015-06-11 123 views
0

我創建到的代碼輸出某些行的功能,這取決於從函數的第一個參數的複式,例如這是迄今爲止的功能:功能的一個參數

function custom_func($info) { 
    if (is_numeric($info)) { 
     $array = array('<tag1>', '<tag2>', '<tag3>'); 
     echo $array[$info]' 
     '; 
} 

不過,我想要能輸入多$信息輸入,例如目前:

custom_func(0);回報<tag1>

我想:

custom_func(0 1);返回<tag1> <tag2>

這可能嗎?

+2

呼叫它像'custom_func(陣列(1,2,3));'信息然後包含一個數組。 – Daan

+0

make $ info一個數組,併爲每個鍵生成您的標籤 – lauw

+1

Php支持具有可變數量參數的函數http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list –

回答

0

我想建議你傳遞參數數組,但如果你仍然通過傳遞字符串需要的解決方案,每一個用空格隔開。嘗試下面的功能。

function custom_func($info) { 
    if(!empty($info)){ 
     $arr = explode(' ', $string); 
     $tags = array(); 
     foreach($arr as $value){ 
      if (is_numeric($value)) { 
       $tags[] = '<tag'.$value.'>'; 
      } 
     } 
     return $tags; 
    } 
    return null; 

} 

並嘗試一下像:

print_r(custom_func('1 2 3 4 10 12 15')); 
0

您正在查找func_num_args,它返回傳遞給該函數及其姊姊func_get_args的參數數,該函數返回一個包含函數參數列表的數組。

0

你可以這樣來做:

function customFunc() { 
    $output = []; 

    foreach (func_get_args() as $arg) { 
     $output[] = '<tag'.$arg.'>'; 
    } 

    return $output; 
} 

print_r(customFunc(1, 2, 3));