Сравнить массивы php - PullRequest
       6

Сравнить массивы php

0 голосов
/ 16 сентября 2018

У меня есть многоуровневые категории, например:

  1. = cat_1 (/cat_1/item_..)
  2. = = cat_2 (/cat_1/cat_2/item_..)
  3. = = = cat_3 (/ cat_1 / cat_2 / cat_3 / item_ ..)
  4. = = cat_4 (/ cat_1 / cat_4 / item _...)
  5. = cat_5 (/ cat_5 / item_ ..)
  6. = = cat_6 (/cat_5/cat_6/item_..)
  7. = = cat_7 (/cat_5/cat_7/item_..)

теперь на jq drag n drop. Я переупорядочиваю категории, например, cat_4, чтобы быть потомком cat_3, после этого в php запускается функция для воссоздания ссылок категорий и элементов внутри нее.

  1. = cat_1 (/cat_1/item_1,2,3..)
  2. = = cat_2 (/cat_1/cat_2/item_..)
  3. = = = cat_3 (/ cat_1 / cat_2 / cat_3 / item_ ..)
  4. = = = = = cat_4 (/ cat_1 / cat_2 / cat_3 / cat_4 / item _...)
  5. = cat_5 (/ cat_5 / item_ ..)
  6. = = cat_6 (/cat_5/cat_6/item_..)
  7. = = cat_7 (/cat_5/cat_7/item_..)

Теперь у меня возникла проблема, как сравнить старый и новый порядок, чтобы функция, воссоздающая ссылку, могла запускаться, когда это действительно необходимо?

Пока я понимаю, что это не нужно, если я изменяю порядок в пределах одного и того же подуровня, например, для кошек 1 и 5 (в пределах уровня 0) или 6 и 7, но если я перемещаю cat_6, чтобы стать дочерним для cat_1, это необходимо.

Сравнение каждой кошки только с ее родителем не будет работать, потому что, если я перетаскиваю всю ветку, например, если кошка 1 становится дочерней по отношению к кошке 6 ..

У кого-нибудь есть идея, есть ли способ сделать это? Проще всего было бы запускать функцию воссоздания ссылок каждый раз при повторном заказе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...