Объеденить 2 массива

burglar

Новичок
Объеденить 2 массива

Есть 1-ый массив

PHP:
Array 
( 
    [0] => Array 
        ( 
            [ID] => 6 
            [ParentID] => 0 
        ) 

    [1] => Array 
        ( 
            [ID] => 260 
            [ParentID] => 0 
        ) 

    [2] => Array 
        ( 
            [ID] => 99 
            [ParentID] => 0 
        ) 

    [3] => Array 
        ( 
            [ID] => 100 
            [ParentID] => 0 
        ) 
)

и есть массив

PHP:
Array 
( 
    [0] => Array 
        ( 
            [ID] => 245 
            [ParentID] => 6 
        ) 

    [1] => Array 
        ( 
            [ID] => 83 
            [ParentID] => 6 
        ) 

    [2] => Array 
        ( 
            [ID] => 29 
            [ParentID] => 6 
        ) 
)
Возможно, ли объединить их в один массив, вставая массив с ParentID=6 после ID = 6 чтобы получился вот такой массив?

PHP:
Array 
( 
    [0] => Array 
        ( 
            [ID] => 6 
            [ParentID] => 0 
        ) 
    [1] => Array 
        ( 
            [ID] => 245 
            [ParentID] => 6 
        ) 

    [2] => Array 
        ( 
            [ID] => 83 
            [ParentID] => 6 
        ) 

    [3] => Array 
        ( 
            [ID] => 29 
            [ParentID] => 6 
        ) 

    [4] => Array 
        ( 
            [ID] => 260 
            [ParentID] => 0 
        ) 

    [5] => Array 
        ( 
            [ID] => 99 
            [ParentID] => 0 
        ) 

    [6] => Array 
        ( 
            [ID] => 100 
            [ParentID] => 0 
        ) 
)
Вообще реально ли это сделать?
 

Dovg

Продвинутый новичок
конечно возможно.
Только ты не должен этого хотеть (с)

Какую задачу реализуешь?
 

burglar

Новичок
Мне в массив надо сформировать для вывода что-то типа дерева ID и PID

т.е. второй массив надо добавить в первый если PID в 2-ом = ID в первом.
 

Dovg

Продвинутый новичок
а где у тебя в примере получается дерево?

почитай про деревья например здесь http://phpclub.ru/faq/Tree
 

burglar

Новичок
да читал я мне не подходит

скажем если 2-ой массив был

Array
(
[0] => Array
(
[ID] => 331
[ParentID] => 99
)

[1] => Array
(
[ID] => 123
[ParentID] => 99
)

[2] => Array
(
[ID] => 73
[ParentID] => 99
)
)


то должен получиться вот такой массив

Array
(
[0] => Array
(
[ID] => 6
[ParentID] => 0
)

[1] => Array
(
[ID] => 260
[ParentID] => 0
)

[2] => Array
(
[ID] => 99
[ParentID] => 0
)
[3] => Array
(
[ID] => 331
[ParentID] => 99
)

[4] => Array
(
[ID] => 123
[ParentID] => 99
)

[5] => Array
(
[ID] => 73
[ParentID] => 99
)

[6] => Array
(
[ID] => 100
[ParentID] => 0
)
)
 

A1x

Новичок
объединить массивы - array_merge
результать отсортировать usort ?
 

burglar

Новичок
A1x ну получился у меня 1 массив, а как теперь отсортировать данные с помощью фунции usort?
 

JOSS-PHP

Новичок
прочитай ман по функции usort. там можно задать свою функцию сортировки.

как по мне, то лучше строить деревья рекурсивно обрабатывая массив. и не нужно для этого ничего сортировать
 
Сверху