2010-11-05 123 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]; 
相关问题