2

我有以下数组:

array (size=2)
  0 => 
    array (size=4)
      0 => string 'http://localhost/wp/wp-content/uploads/2013/03/slider-area.jpg' (length=62)
      1 => int 1584
      2 => int 346
      3 => boolean false
  1 => 
    array (size=4)
      0 => string 'http://localhost/wp/wp-content/uploads/2013/03/featured.jpg' (length=59)
      1 => int 1584
      2 => int 346
      3 => boolean false

我的问题是,我怎样才能遍历这个数组来生成一个只包含两个值的新数组,如下所示:

$result_array = array(0 => "http://localhost/wp/wp-content/uploads/2013/03/slider-area.jpg",
                      1 => "http://localhost/wp/wp-content/uploads/2013/03/featured.jpg");

我尝试了一个 foreach 循环,但无法获得所需的结果数组。我尝试了以下循环:

foreach ( $array as $key => $value ){

foreach ( $value as $item){

$result_array[] = $item;

}

任何帮助将不胜感激。

4

4 回答 4

1

它应该像这样简单:

$finalArray = array();    
foreach($array as $arrayitem){
  $finalArray[] = $arrayItem[0];  
}
于 2013-03-31T14:22:14.487 回答
1

你很接近:

$result_array = array(); //Initialization is important.

foreach ($array as $value) {
    $result_array[] = $value[0]; // $value[0] is the first element in the inner array.
}
于 2013-03-31T14:22:42.023 回答
1

要使用 foreach 执行此操作:

foreach( $array as $key => $value ) {
    $result_array[$key] = $value[0];
}

(除非您想遍历二维,否则不要在 foreach 中使用 foreach!)

于 2013-03-31T14:23:09.623 回答
0

我只是把这个漂亮的小单线扔在这里以获得它的乐趣:)

$newArray = array_map(function($a){ return $a[0]; }, $myArray);

运行代码

于 2013-03-31T14:52:43.107 回答