2015-08-14 3 views
0

У меня есть многомерный массив. Я хочу удалить родительские ключи [0], [1], [2] ..... Каков наилучший способ удалить родительские ключи в многомерном массиве ?. Например, у меня есть этот кодУдалить родительские ключи из многомерного массива

Array 
(
[0] => Array 
    (
     [comment_tN9l43iUjZLNap4Dbkf7w8Whb3] => Array 
      (
       [required] => This field is required 
      ) 

    ) 

[1] => Array 
    (
     [checkbox_cNVyw1lV0eVrYdeymth2c90AW] => Array 
      (
       [required] => Select Gender 
       [minlength] => Please select at least 2 items. 
       [maxlength] => Please select no more than 4 items. 
      ) 

    ) 

[2] => Array 
    (
     [checkbox_EM9tkQoZ4YMaPncAPenfi6ltB] => Array 
      (
       [required] => This field is required 
       [minlength] => Please select at least 1 items. 
       [maxlength] => Please select no more than 3 items. 
      ) 

    ) 

) 

, но я хочу, чтобы массив как этот

Array 
    (
     [comment_tN9l43iUjZLNap4Dbkf7w8Whb3] => Array 
      (
       [required] => This field is required 
      ) 
     [checkbox_cNVyw1lV0eVrYdeymth2c90AW] => Array 
      (
       [required] => Select Gender 
       [minlength] => Please select at least 2 items. 
       [maxlength] => Please select no more than 4 items. 
      ) 
     [checkbox_EM9tkQoZ4YMaPncAPenfi6ltB] => Array 
      (
       [required] => This field is required 
       [minlength] => Please select at least 1 items. 
       [maxlength] => Please select no more than 3 items. 
      ) 

    ) 
+0

Это невозможно сделать. Нет массива без ключей. Второй массив точно такой же, как и первый. Вы просто не писали ключи явно. – user4035

+0

Да, я согласен с @ user4035. – aldrin27

+0

Оператор хочет удалить пронумерованные клавиши [0], [1], [2] и вместо этого использовать [comment_tN9l43iUjZLNap4Dbkf7w8Whb3] ... в качестве ключей. Он хочет изменить индексированный массив на ассоциативный массив. –

ответ

3

Это просто все, что вам нужно сделать, это позвонить array_merge, чтобы получить результаты, которые вы хотите через call_user_func_array.

$newArray = call_user_func_array("array_merge", $oldArray); 

Вы можете увидеть упрощенный пример here

0

Вы можете попробовать это:

$newArray = []; 
foreach ($oldArray AS $data) { 
    $newArray = array_merge($newArray, $data); 
} 

Смотрите documentation для array_merge() для получения дополнительной информации.

Смежные вопросы