PHP поиск и вставка сопоставления с термином в многомерном массивеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 PHP поиск и вставка сопоставления с термином в многомерном массиве

Сообщение Anonymous »

Я работал над пересмотром иерархического поиска, и теперь мне приходится преодолеть более 3 уровней. Проблема заключается в том, что мне приходится конвертировать единый уровень массива в многоуровневое. Я попытался использовать array_search + array_column вместе, но мой массив не учитывается численно. Мне нужно добавить детей к их родителям, соответствующим их от их родительского массива. Я поделюсь структурами и ожидаемым результатом.$menu = array (
207705 =>
array (
'ID' => 207705,
'title' => 'Home',
'url' => 'https://example.com/',
'description' => '',
'children' =>
array (
),
),
207795 =>
array (
'ID' => 207795,
'title' => 'Category',
'url' => 'https://example.com/cat/',
'description' => 'Lorem ipsum',
'children' =>
array (
207892 =>
array (
'ID' => 207892,
'title' => 'Subcategory0',
'url' => 'https://example.com/cat/subcat0/',
'description' => '',
),
207791 =>
array (
'ID' => 207791,
'title' => 'Subcategory1',
'url' => 'https://example.com/cat/subcat1/',
'description' => '',
),
),
),
)
< /code>
Вот массив детей, которые мне нужно слиться в основное в соответствии с соответствующим идентификатором: < /p>
$children = array (
207892 =>
array (
0 =>
array (
'ID' => 207789,
'title' => 'SubSubCat1',
'url' => 'https://example.com/cat/subcat0/sub1',
),
1 =>
array (
'ID' => 207786,
'title' => 'SubSubCat2',
'url' => 'https://example.com/cat/subcat0/sub2',
),
2 =>
array (
'ID' => 207788,
'title' => 'SubSubCat3',
'url' => 'https://example.com/cat/subcat0/sub3',
),
3 =>
array (
'ID' => 207787,
'title' => 'SubSubCat4',
'url' => 'https://example.com/cat/subcat0/sub4',
),
),
)
< /code>
Окончательный результат, который я хочу: < /p>
array (
207705 =>
array (
'ID' => 207705,
'title' => 'Home',
'url' => 'https://example.com/',
'description' => '',
'children' =>
array (
),
),
207795 =>
array (
'ID' => 207795,
'title' => 'Category',
'url' => 'https://example.com/cat/',
'description' => 'Lorem ipsum',
'children' =>
array (
207892 =>
array (
'ID' => 207892,
'title' => 'Subcategory0',
'url' => 'https://example.com/cat/subcat0/',
'description' => '',
'children' => array (
0 =>
array (
'ID' => 207789,
'title' => 'SubSubCat1',
'url' => 'https://example.com/cat/subcat0/sub1',
),
1 =>
array (
'ID' => 207786,
'title' => 'SubSubCat2',
'url' => 'https://example.com/cat/subcat0/sub2',
),
2 =>
array (
'ID' => 207788,
'title' => 'SubSubCat3',
'url' => 'https://example.com/cat/subcat0/sub3',
),
3 =>
array (
'ID' => 207787,
'title' => 'SubSubCat4',
'url' => 'https://example.com/cat/subcat0/sub4',
),
),
),
207791 =>
array (
'ID' => 207791,
'title' => 'Subcategory1',
'url' => 'https://example.com/cat/subcat1/',
'description' => '',
),
),
),
)
< /code>
До сих пор я пробовал много решений из этого потока. Все либо возвращает ложь, нулевой, либо только первый уровень клавиш массива.
Есть ли функция или даже один линий, который я могу использовать? < /P>
Мой текущий код-это это : < /p>
foreach($children as $id => $item) {
$parent = array_search($id, $menu);
if($show == true) {
//In this case looking to add the current item array to the ['children'] of the found matching element in the $menu array
$search = array_map(function($v){return $v['ID'];},$menu);

$menu[$search] = $item;
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... onal-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • PHP поиск и вставка сопоставления с термином в многомерном массиве
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • PHP поиск и вставка сопоставления с термином в многомерном массиве
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • PHP поиск и вставка сопоставления с термином в многомерном массиве
    Anonymous » » в форуме Php
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • PHP Поиск массива в многомерном массиве по значению
    Гость » » в форуме Php
    0 Ответы
    52 Просмотры
    Последнее сообщение Гость
  • Поиск всех экземпляров конкретного слова в многомерном массиве
    Anonymous » » в форуме Javascript
    0 Ответы
    291 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»