Это не сохраняет первоначальный порядок ввода, но потому что данные проиндексированы, поэтому я предполагаю, что это не имеет значения.
Имея всего 3 вызова в одной строке, вы назначаете временные ассоциативные ключи сзади вперед, чтобы исключить последние дубликаты (поскольку php не разрешает дублирование ключей), а затем при желании удаляете временные ключи с помощью array_values()
. Нет повторных вызовов функций. Нет массивов поиска.
Код: ( Демонстрация )
$array = [
['id_card' => 11883834, 'type' => 1, 'registed' => 1547610891],
['id_card' => 20311077, 'type' => 1, 'registed' => 1547610891],
['id_card' => 16187903, 'type' => 3, 'registed' => 1547610891],
['id_card' => 16354099, 'type' => 1, 'registed' => 1547610891],
['id_card' => 21133393, 'type' => 4, 'registed' => 1547610891],
['id_card' => 15452852, 'type' => 2, 'registed' => 1547610891],
['id_card' => 19775869, 'type' => 2, 'registed' => 1547610891],
['id_card' => 20311077, 'type' => 1, 'registed' => 1547610891],
['id_card' => 21133393, 'type' => 4, 'registed' => 1547610891],
['id_card' => 11883834, 'type' => 1, 'registed' => 1547610891]
];
var_export(array_values(array_column(array_reverse($array), null, 'id_card')));
Если вы передумаете желать сохранить первое вхождение, вы можете удалить array_reverse()
. Если клавиши первого уровня не имеют значения на выходе, вы можете удалить array_values()
. Эти изменения позволили бы решить проблему как вызов одной функции.
p.s. "REGIST эр ред"
Из сообщений Вы имеете, большая часть Mac Gemsweeper и libboost были скомпилированы только с PPC как архитектура. Необходимо настроить XCode, чтобы генерировать универсальные двоичные файлы и вероятно перекомпилировать libboost через MacPorts. У недавнего MacPorts есть "универсальная" цель, которая могла помочь, хотя, если Вы не планируете выполнить ее на PPC, Вы добираетесь, просто перекомпилировали его.
Вы, кажется, должны перекомпилировать zlib и libiconv также.
Удаление и переустановка zlib и libiconv (плюс дюжина других зависимых освобождает) с sudo портом xxx устанавливают +universal, которому помогают. Спасибо за Ваш быстрый ответ!:-)
Кажется, что необходимо повторно загрузить или восстановить повышение для Mac. И независимо от того, что dylib - Вы, должен сделать это к. Простыми словами действительно просто необходимо переустановить библиотеки.
С повышением Вы не должны повторно загружать все это снова, сами источники являются многоплатформенными, это - просто двоичные файлы (освобождение и такой), которые изменяются от платформы до платформы. Возможности - Вы, уже загрузили все источники, таким образом, необходимо будет просто восстановить библиотеку из источников. http://www.boost.org/doc/libs/1_37_0/more/getting_started/unix-variants.html дает Вам некоторую информацию о создании повышения с помощью bjam. Я знаю на окнах, они предварительно скомпилировали двоичные файлы, но я ничего не вижу об этом на веб-сайте повышения для Mac.