2014-03-03 88 views
0

我已經編寫了這個函數來接受一個數字數組或一個賦予它的單個數字的變量。現在,當我傳遞一個單一數字的變量時,它工作正常,但是當數組傳遞給它時,它返回一個錯誤(數組到字符串轉換)。編碼遞歸函數

請看下面的例子任何人都可以告訴我我做錯了什麼?

function recusive($data){ 
    if(is_array($data)){ 
     $price = array(); 
     foreach($data as $number){ 
      $price[] = recruisive($number); 
     } 
    }else{ 
     $formatted = number_format($data,2); 
     $price = '£' . $formatted; 
    } 

    return $price; 
} 

$input = array(130, 333, 444, 555); 

echo recursive($input); 
+0

'$價格[] = recruisive($數字);'不同的功能,或拼寫錯誤? – ElefantPhace

+2

你拼錯了函數的名字。第2行表示「recusive」,第6行表示「recruisive」。最後,它是你使用遞歸調用函數的第16行... – barell

+3

'recusive','recruisive','recursive' - 你有太多的錯別字。 – Eternal1

回答

0

因爲你要返回一個數組。嘗試:

print_r(recursive($input)); 

或者循環通過它顯示:

foreach(recursive($input) as $value) { 
    echo $value; 
} 

而且,你已經嘗試recursive 3次,只拼寫是否正確1周時間:recusive,recruisive,遞歸