2016-11-11 5 views
0

У меня есть массив какКак удалить значение индекса многомерного массива

$my_array = Array 
(
    [0] => Array 
     (
      [0] => rock 
     ) 

    [1] => Array 
     (
      [1] => James 
     ) 

    [2] => Array 
     (
      [2] => John 
     ) 
) 

и я хочу массив как этого

array([0]=>rock [1]=>James [2]=> john); 

я мог бы получить массив в этой форме. Пожалуйста, помогите мне.

+0

Почему вы создаете этот тип массива? Direct create as u want – KinjalMistry

+0

Действительно ли массив выглядит так? Я ожидал бы, что у Джеймса и Джона будет индекс 0. Если они равны 0, то [array_column()] (http://php.net/array_column) должен предоставить вам то, что вы хотите. –

ответ

0

Вот решение:

$newArray = []; 
foreach ($data as $value) { 
    $newArray[] = $value[0]; 
} 

$ newArray проведет новый результат массива

1

Ваш ребенок массив содержит один и тот же ключ, что и родительских массивов, так что вы должны использовать одинаковые ключи для обоих!

$my_array = array(
     array('0' => 'rock'), 
     array('1' => 'James'), 
     array('2' => 'John') 
); 

Это будет работать:

$n_a = []; 
foreach($my_array $k => $ma) { 
    $n_a[$k] = $ma[$k]; //here is the problem 
} 
print_r($n_a); 

$n_a содержит окончательный массив.

0

Используйте Еогеасп как этот

$my_array = array 
(
array 
    (
     '0' => 'rock' 
    ) 
, 
array 
    (
     '1' => 'James' 
    ) 
, 
array 
    (
     '2' => 'John' 
    ) 
); 
print_r($my_array); 

$newArray = []; 
foreach ($my_array as $key => $value) { 
    $newArray[] = $value[$key]; 
} 
print_r($newArray);