2015-04-11 6 views
-2

У меня есть многомерный массив, но его нужно уменьшить. Это простой вопрос, который я считаю. Мне нужно удалить 1 массив в массив jsonresult, первый, но сохранить другой в следующем массиве. Я попробовал array_splice, но он сохраняет только один.Многомерный массив массивов массива PHP

Array 
(
[searchword] => search word 
[jsonresult] => Array 
    (
     [0] => Array // THIS ONE, KEEP ITS CHILDREN MOVE UP 
      (
       [0] => Array 
        (
         [id] => 14889770 
        ) 
        [1] => Array 
        (
         [id] => 14389720 
        ) 
        [2] => Array 
        (
         [id] => 14869723 
        ) 
      )   

      [1] => Array // THIS ONE, KEEP ITS CHILDREN MOVE UP 
      (
       [0] => Array 
        (
         [id] => 14889722 
        ) 
        [1] => Array 
        (
         [id] => 14389711 
        ) 
        [2] => Array 
        (
         [id] => 14869329 
        ) 
      )   

    ) 
) 

бы хотели:

Array 
(
[searchword] => search word 
[jsonresult] => Array 
    (
     [0] => Array 
     (
      [id] => 14889770 
     ) 
        [1] => Array 
        (
         [id] => 14389720 
        ) 
        [2] => Array 
        (
         [id] => 14869723 
        ) 

        [3] => Array 
        (
         [id] => 14889722 
        ) 
        [4] => Array 
        (
         [id] => 14389711 
        ) 
        [5] => Array 
        (
         [id] => 14869329 
        ) 
    )   

) 
+1

Что вы ожидаемый результат? –

+0

Извините, посмотрите еще раз, пропустил это. –

+0

это то, что вы получаете, когда используете срез. я спросил, вахт - ваш ожидаемый результат, который вы хотите приехать? –

ответ

1

Попробуйте этот код. Это может быть не правильный метод, но он дает то, что вам нужно. (Как я понял из вашего вопроса)

//creating a sample array similar to one you given in question. 
$arr_test['searchword'] = 'search word'; 
$arr_test['jsonresult'] = array(array(array('id'=>14889770),array('id'=>14889720)),array(array('id'=>14889780),array('id'=>14889790)));  
//creating new array 
$arr_new = array(); 
//formatting array as you needed it 
foreach($arr_test['jsonresult'] as $arr_jsonresult){ 
    foreach($arr_jsonresult as $jsonresult){   
     $arr_new['jsonresult'][] = $jsonresult;   
    } 
} 
//overwriting the specific array key 
$arr_test['jsonresult'] = $arr_new['jsonresult']; 
//checking output 
echo '<pre>'; 
print_r($arr_test); 

Этот код производит следующий вывод

Array 
(
[searchword] => search word 
[jsonresult] => Array 
    (
     [0] => Array 
      (
       [id] => 14889770 
      ) 

     [1] => Array 
      (
       [id] => 14889720 
      ) 

     [2] => Array 
      (
       [id] => 14889780 
      ) 

     [3] => Array 
      (
       [id] => 14889790 
      ) 

    ) 

) 
+0

Спасибо, но я хочу, чтобы это выглядело так: [jsonresult] => Array ( [0] => Array () [1] => Массив () [2] => Массив () [3] => Массив () ) –

+0

о его правильно, но это дает странный вывод. Если некоторые из данные в массиве [jsonresult] помещаются над массивом [jsonresult] ... –

+0

Жаль, что это сработало, что-то не так с моим кодом! Большое вам спасибо! Отличная работа! –

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