У меня есть этот массив (это просто его часть). 6 = идентификатор вопроса, optionIDs = возможные ответы.Array_map, когда элементы перетасовываются
Array
(
[3] => Array
(
[0] => 6
[1] => Array
(
[0] => Array
(
[optionID] => 16
[isCorrect] => 0
)
[1] => Array
(
[optionID] => 14
[isCorrect] => 1
)
[2] => Array
(
[optionID] => 15
[isCorrect] => 0
)
[3] => Array
(
[optionID] => 17
[isCorrect] => 0
)
)
)
[7] => Array
(
[0] => 6
[1] => Array
(
[0] => Array
(
[optionID] => 16
[isCorrect] => 0
)
[1] => Array
(
[optionID] => 15
[isCorrect] => 0
)
[2] => Array
(
[optionID] => 17
[isCorrect] => 0
)
[3] => Array
(
[optionID] => 14
[isCorrect] => 1
)
)
)
)
Я пытаюсь объединить избыточные вопросы (6 и 6) с array_map:
$unique = array_map('unserialize', array_unique(array_map('serialize', $quizQuestionArray)));
И это работает, пока optionIDs находятся в том же порядке. Но в некоторых случаях (например, здесь) они перетасовываются (16,14,15,17) (16,15,17,14). Есть ли способ их перетасовать и удалить повторяющиеся вопросы?
Это действительно умное решение. +1 – Federkun
+1. Конечно, он возвращает те, которые должны исчезнуть - получить остальное: $ remove =! Isset ($ dupeIds [$ item [0]]); – Tompo
@ user3385195 Справа исправлена ошибка. – deceze