2014-01-18 77 views
2

我正在寫一個腳本,我需要返回所有索引的所有現有數組,因爲它們都被相同的函數調用。 這可能嗎? 我的腳本是一個shell腳本,但我很好奇它是否也可以與其他語言一起使用。如何返回所有現有的數組?這可能嗎?

例如:

array=[element[0], element[1]] 
array2=[element[0], element[1]] 

我想回到所有的數組,並獲取每個陣列

function MyFunction(allArray[allIndex]) 

中的每個元素在bash [allIndex] = [@]。有什麼數組?

很抱歉,如果這是愚蠢的,我在編程使新..

更新:我標誌着它在其他語言,因爲我正在學習多國語言編程。我想知道這是否可能,所以如果這在Bash中是不可能的,那麼想知道另一個。只是。對不起,如果它是錯誤的。

+0

所以「所有現有的數組」是指在任何範圍的代碼中的任何地方聲明的任何數組?包括嵌套數組等等?要麼...? _「並調用每個數組的每個元素」_ - 你怎麼稱呼一個數組元素?你的意思是你想要得到每個元素的價值?在任何情況下**我都沒有看到如何將bash腳本與JS _and_ C進行比較_and_ PHP將會非常有用。** – nnnnnn

+3

標記問題時用完了編程語言嗎? –

+0

是的,任何數組。 「它是一個函數引用數組嗎?」不,我只想獲取每個數組的每個元素 – kratos

回答

2

那麼,在一般意義上,你可能想要返回所有數組的數組。

allArray[0] = array; 
allArray[1] = array2; 
... 
return allArray; 

然後稍後遍歷該數組數組。

for(i = 0; i < allArraySize; i++) 
{ 
    array = allArray[i]; 
    size = array.size(); 
    for(j = 0; j < size; j++) 
    { 
     val = array[j]; //for single dimension array 
    } 
} 

需要注意的是,如果你的陣列是二維的(或更多)陣列,你將結束與深度嵌套的for循環(對... {用於... {用於...}}}),這導致性能不佳且可讀性差,在這種情況下,我建議您參考this answer