|
|
|
| Есть 1-ый массив
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
)
)
|
и есть массив
Array
(
[0] => Array
(
[ID] => 245
[ParentID] => 6
)
[1] => Array
(
[ID] => 83
[ParentID] => 6
)
[2] => Array
(
[ID] => 29
[ParentID] => 6
)
)
|
Возможно, ли объединить их в один массив, вставая массив с ParentID=6 после ID = 6?
Чтобы получился вот такой массив?
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
)
)
|
| |
|
|
|
|
|
|
|
для: smit272
(25.08.2008 в 21:11)
| | Простите, а логика "после ID=6" в чем?
..извиняюсь, понял | |
|
|
|
|
|
|
|
для: smit272
(25.08.2008 в 21:11)
| | Вообще реально ли это сделать? | |
|
|
|
|
|
|
|
для: smit272
(25.08.2008 в 21:35)
| | Вот что то наподобии, не знаю то ли, что Вам нужно, это скорее сортировка массива "по первому элементу каждого элемента"
<?php
$a1 = array (
0 => array (
"ID" => 1,
"parentId" => 0
),
1 => array (
"ID" => 6,
"parentId" => 0
),
2 => array (
"ID" => 15,
"parentId" => 0
),
3 => array (
"ID" => 134,
"parentId" => 0
)
);
$a2 = array (
0 => array (
"ID" => 4,
"parentId" => 1
),
1 => array (
"ID" => 3,
"parentId" => 1
),
2 => array (
"ID" => 6,
"parentId" => 1
),
3 => array (
"ID" => 134,
"parentId" => 1
)
);
$a3 = array_merge_recursive($a, $a2);
$key = array ();
$value = array();
foreach ( $a3 AS $k => $v )
{
$key[] = $v["ID"];
$value[] = $v["parentId"];
}
$new = array ();
natsort ( $key );
foreach ( $key AS $k => $v )
{
$new[] = array (
"ID" => $v,
"parentId" => $value[$k] );
}
print_r ( $new );
?>
|
| |
|
|
|
|
|
|
|
для: Le bien
(25.08.2008 в 21:54)
| | Нет, пожалуй это не то, хотя кажется смысл в заполнении массива должен быть таким же | |
|
|
|
|
|
|
|
для: Le bien
(25.08.2008 в 21:57)
| | Дело в том что значение ParentID во 2-ом массиве может быть 260 или 99 или 100
и он должен вставиться после соответствующего ID | |
|
|
|
|
|
|
|
для: smit272
(25.08.2008 в 22:01)
| | Очень интересно узнать зачем Вам такой порядок нужен. | |
|
|
|
|
|
|
|
для: BinLaden
(25.08.2008 в 22:21)
| | Мне надо выводить в таком прядке.
Причем дальше данные могут накапливаться в этом массиве.
скажем если 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
)
)
|
| |
|
|
|
|
|
|
|
для: smit272
(25.08.2008 в 22:26)
| | У вас вообще есть какая либо закономерность в том, чего вы хотите? В первом случае вы вставляете массив после первого элемента, во втором после третьего, и чем это объясняется? | |
|
|
|