2013-10-24 5 views
1

Я пытаюсь сдуть рекурсивно массив, который имеет численное значение как ключ. Повторяющаяся структура представляет собой массив с ключами И, ИЛИ или NOT и внутри массива с цифрами как ключи. Я пытаюсь рекурсивно выкачать массивы, которые находятся в пределах ключей И, ИЛИ и НЕкак выкачать рекурсивно массив с числовым значением в качестве ключа?

У меня есть это:

$input=array(
    'Experiment.name' => (int) 0, 
    ' AND ' => array(
     (int) 0 => array(
      'Experiment.note' => (int) 0 
     ), 
     (int) 1 => array(
      'Experiment.date' => (int) 0, 
      ' AND ' => array(
       (int) 0 => array(
        'Experiment.state' => (int) 0 
       ) 
      ) 
     ) 
    ) 
) 

и попытаться получить:

$output=array(
    'Experiment.name' => (int) 0, 
    ' AND ' => array(  
      'Experiment.note' => (int) 0 
      'Experiment.date' => (int) 0, 
      ' AND ' => array(
        'Experiment.state' => (int) 0 
      ) 
     ) 
    ) 
) 

Внутренние массивы могут иметь более двух массивов, и ключи могут не быть И, может быть И, ИЛИ И НЕ

+0

'array_merge' кажется, что он может работать –

+0

Да, спасибо за помощь мне, но я не знаю, как сделать это с помощью этого function.I сделать не знаю, как использовать его для достижения того, что я хочу, я не даю успеха – Martin

+0

Вы пробовали искать 'http: // php.net/manual/en/function.array-merge.php' здесь? –

ответ

1

Try:

$input[' AND '][0] = array_merge($input[' AND '][0], $input[' AND '][1]); 
unset($input[' AND '][1]); 
+0

oh спасибо, что это хороший вариант, но только сдувает первый массив, а не рекурсивно. Кроме того, ключ не может быть И. Спасибо за помощь мне :) – Martin

+0

Это была бы уместная информация для вопроса, не так ли? – AbraCadaver

+0

Я уже писал, что это рекурсивный, но я только что добавил дополнительную информацию. – Martin

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