PHP有没有更好的方法来创建这个新数组?

时间:2010-11-05 13:09:00

标签: php arrays key

  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))

2 个答案:

答案 0 :(得分: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];
}

答案 1 :(得分:3)

 foreach($keyList as $key)
    $newArray[] = $myArray[$key];