2014-09-02 4 views
0

Привет, я не могу найти ответ нигде в этом вопросе, который у меня есть. Я знаю его что-то простое.Побег верхнего уровня многомерного массива

Допустим, у вас есть двумерный массив это выглядит примерно так:

[0] => Array 
      (
       [0] => Array 
        (
         [taxonomy] => dairy 
         [terms] => cheese 
         [field] => slug 
        ) 

       [1] => Array 
        (
         [taxonomy] => dairy 
         [terms] => yogurt 
         [field] => slug 
        ) 

       [2] => Array 
        (
         [taxonomy] => brand 
         [terms] => independent 
         [field] => slug 
        ) 

      ) 

как я разбить его на одномерный массив как так

   [0] => Array 
        (
         [taxonomy] => dairy 
         [terms] => cheese 
         [field] => slug 
        ) 

       [1] => Array 
        (
         [taxonomy] => dairy 
         [terms] => yogurt 
         [field] => slug 
        ) 

       [2] => Array 
        (
         [taxonomy] => brand 
         [terms] => independent 
         [field] => slug 
        )" 

Причина Я спрашиваю это потому что я хочу сделать динамический запрос, который должен быть отформатирован как таковой. Обычно я просто хотел бы получить исходный массив и цикл, хотя он и генерировать необходимую информацию, но информация является частью более крупного массива. Это означает, что я не могу использовать цикл foreach внутри большего массива.

Есть ли у кого-нибудь идеи о том, как я мог избежать родительского массива, достигшего такого форматирования?

+0

Вы можете использовать 'serialize ($ var);' где $ var может быть любым массивом и объектом. –

ответ

1

Так что я не думаю, что вы ищете рекурсивный взрыв.

Я думаю, что функция, более подходящая для ваших нужд, - var_export.

<?php 
$string = var_export($array, true); 
+0

Да, это правильная функция, в которой я нуждался. Спасибо, я на один шаг ближе. Я сделал следующее, прежде чем передавать его по моему запросу: 'foreach ($ args as $ arg) { \t $ string. = Var_export ($ arg, true). ','; \t} ' Моя единственная проблема - когда я пытаюсь использовать $ string as is, она выглядит как деформированная в одном ключевом массиве, однако, если я ее эхо или дамп, она ведет себя как строка. Знаю, почему? – user1452407

+0

Хм, это странно. Попробуйте это после цикла 'foreach':' $ string = strval ($ string); 'Это что-то решает? – MoMo

+0

После тестирования я ошибаюсь. Ваш ответ верен тому, что я спросил. Мой вопрос плохо сформулирован. – user1452407

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