Stack Overflow на русском Asked by tyzh on December 23, 2021
Есть два массива:
$correct = [
['first' => '148', 'last' => '002', 'num' => '1'],
['first' => '155', 'last' => '156', 'num' => '2'],
['first' => '975', 'last' => '148', 'num' => '1'],
['first' => '156', 'last' => '157', 'num' => '2'],
['first' => '002', 'last' => '155', 'num' => '2'],
['first' => '051', 'last' => '978', 'num' => '2'],
['first' => '157', 'last' => '051', 'num' => '2'],
] ;
$incorrect = [
['first' => '156', 'last' => '157', 'num' => '2'],
['first' => '002', 'last' => '148', 'num' => '1'],
['first' => '155', 'last' => '156', 'num' => '2'],
['first' => '002', 'last' => '155', 'num' => '2'],
['first' => '051', 'last' => '978', 'num' => '2'],
['first' => '157', 'last' => '051', 'num' => '2'],
['first' => '148', 'last' => '975', 'num' => '1'],
] ;
С помощью php
необходимо создать цепочку из элементов массива, так чтобы поле last
текущей строки массива был равен поле first
следующей строки массива, и так до конца массива.
При этом необходимо сортировать по убыванию по поле num
.
И если есть разрыв цепочки то вывести его на экран, и дальше продолжить цепочку.
При выводе на экран нужно чтобы было:
// Если цепочка цельная [массив $correct]
first last num
----- ----- -----
975 148 1
148 002 1
002 155 2
155 156 2
156 157 2
157 051 2
051 978 2
// Если в цепочке есть разрыв [массив $incorrect]
first last num
----- ----- -----
002 148 1
148 975 1
* * * Разрыв * * *
002 155 2
155 156 2
156 157 2
157 051 2
051 978 2
Как бы должно получится змейка
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP