2017-05-19 40 views
-2

定義:創建它接受的陣列和長度L創建它接受的陣列和長度限定的長度6和輸出數組的函數2

a)輸入的限定的長度L和輸出數組的函數陣列屬性:

  1. 這將有一個固定的輸入的最大長度(N)
  2. 它將具有幾個要素填充(高達長度L)

該函數應該修改數組,以便輸入數組的其餘位置應該用已填充的順序填充。 函數應該輸出修改後的數組

爲前

1)輸入數組:[1,2]和長度:(L = 6)(總LEN:6,元件的長度):

輸出陣列應[1,2,1,2,1,2]

2)又如(對於長度L = 6) - 輸入數組:[1,2,3,4]

輸出數組:[1,2,3,4,1,2]

3)[1,2,3](對於長度L = 5)

輸出數組:[1,2,3,1,2]

我的代碼

<?php ///sdsd 
$arr1 = array(1, 2); 
$length1 = 6; 
function one($arr1, $length1) 
{ 
    for ($i = 1;$i < $length;$i++) 
    { 
    } 
    //Output array should be [1,2,1,2,1,2] 
} 
$arr2 = array(1, 2, 3, 4); 
$length2 = 6; 
function two($arr2, $length2) 
{ 
    for ($i = 1;$i < $length;$i++) 
    { 
    } 
    //Output array should be [1,2,3,4,1,2] 
} 
?> 
+3

堆棧溢出不提供對分配的解決方案 – sumit

+0

@sumit是正確的,堆棧溢出不是讓人們爲你寫代碼的地方,我們在這裏幫助解決一些無法解決的問題由提問的人提供。如果你想讓別人爲你編碼,你應該尋找其他想法或 - 你通常應該做的 - 自己解決這個任務(這不是那麼難btw。)。 –

回答

-1
$arr = [1, 2, 3, 6]; 

function arrayRepeat(&$array, $length) 
{ 
    if($length <= count($array)) { 
     $array = array_slice($array, 0, $length); 
    } else { 
     $addLength = $length - count($array); 

     for($i = 0; $i < $addLength; $i++) { 
      $array[] = $array[$i]; 
     } 
    } 
} 

arrayRepeat($arr, 6);