2010-11-05 52 views
0
for ($i = 0; $i < count($keyListArray); $i++) { 
     $newArray[$i] = $myArray[$keyListArray[$i]]; 
    } 

//structure of arrays are as follows 
//$keyListArray = array (1,4,5); 
//$myArray = array(1=>array('hello', 4, 56, 7)) 
+1

'$ myArray的($ keyListArray [$ i]於)'是$ myArray的回調函數? – Hannes 2010-11-05 13:14:06

+0

它的一個數組:) – Mohammad 2010-11-05 13:16:07

+1

如果'$ myArray'是一個數組,那麼它看起來像你的例子中有一個語法錯誤。它應該是'$ myArray [$ keyListArray [$ i]]' – andrewle 2010-11-05 13:25:47

回答

4

你只是試圖去掉$keyListArray,對不對?嘗試

$newArray = array_values($keyListArray);

array_values()返回從輸入陣列和索引數字陣列的所有的值。 http://us2.php.net/manual/en/function.array-values.php

- 編輯新的信息

你有一些括號混合起來用方括號 - 這是混淆了大家。您並不需要$ i來指定鍵,因爲默認情況下它們將是一致的和數字的。你這樣做的方式很好,但是一個foreach會讓事情變得更短。

foreach ($keyListArray as $key) { 
    $newArray[] = $myArray[$key]; 
} 
+0

不,我不認爲我試圖做到這一點,我只是試圖獲得現有數組的一個子數組,使用'$ keyListArray'中感興趣的特定鍵。不過謝謝! – Mohammad 2010-11-05 13:20:53

+1

如果需要使用方括號來訪問現有數組,請使用括號。請參閱我的更改。 – 2010-11-05 13:26:06

+0

謝謝先生,是啊,那是一個愚蠢的錯誤。 – Mohammad 2010-11-05 13:28:07

3
foreach($keyList as $key) 
    $newArray[] = $myArray[$key]; 
相關問題