У меня есть следующий массив:
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; }
Любая помощь будет высоко оценена.
Вы были близки:
$result_array = array(); //Initialization is important. foreach ($array as $value) { $result_array[] = $value[0]; // $value[0] is the first element in the inner array. }
Это должно быть так просто:
$finalArray = array(); foreach($array as $arrayitem){ $finalArray[] = $arrayItem[0]; }
Чтобы сделать это с помощью foreach:
foreach( $array as $key => $value ) { $result_array[$key] = $value[0]; }
(не используйте foreach внутри foreach, если вы не хотите итерации через 2 измерения!)
Я просто брошу этот симпатичный маленький лайнер сюда ради удовольствия!
$newArray = array_map(function($a){ return $a[0]; }, $myArray);
код запуска