Loading src/Controller/UniqElementsController.php 0 → 100644 +23 −0 Original line number Diff line number Diff line <?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\HttpFoundation\Request; use function App\Repository\uniqElements; class UniqElementsController extends AbstractController { #[Route('/uniq/elements', name: 'app_uniq_elements')] public function index(Request $request): Response { $requestArray = $request->toArray(); $return = uniqElements($requestArray); return new JsonResponse($return, Response::HTTP_OK); } } src/Repository/UniqElementsRepository.php 0 → 100644 +29 −0 Original line number Diff line number Diff line <?php namespace App\Repository; /** * Удалить дубликаты, оставив только уникальные значения * @param array $array * @return array */ function uniqElements(array $array): array { $splitedArray = []; foreach ($array as $tuple) { $key = $tuple[0]; $item = $tuple[1]; $splitedArray[$key][] = $item; } $returnableArray = []; foreach ($splitedArray as $key => $item){ $item = array_unique($item); foreach ($item as $oneOfItem){ $returnableArray[] = [ $key, $oneOfItem ]; } } return $returnableArray; } Loading
src/Controller/UniqElementsController.php 0 → 100644 +23 −0 Original line number Diff line number Diff line <?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\HttpFoundation\Request; use function App\Repository\uniqElements; class UniqElementsController extends AbstractController { #[Route('/uniq/elements', name: 'app_uniq_elements')] public function index(Request $request): Response { $requestArray = $request->toArray(); $return = uniqElements($requestArray); return new JsonResponse($return, Response::HTTP_OK); } }
src/Repository/UniqElementsRepository.php 0 → 100644 +29 −0 Original line number Diff line number Diff line <?php namespace App\Repository; /** * Удалить дубликаты, оставив только уникальные значения * @param array $array * @return array */ function uniqElements(array $array): array { $splitedArray = []; foreach ($array as $tuple) { $key = $tuple[0]; $item = $tuple[1]; $splitedArray[$key][] = $item; } $returnableArray = []; foreach ($splitedArray as $key => $item){ $item = array_unique($item); foreach ($item as $oneOfItem){ $returnableArray[] = [ $key, $oneOfItem ]; } } return $returnableArray; }