Если «удалить дубликаты» означает «удалить дубликаты, но пусть один там», решение может заключаться в том, чтобы сначала применить array_unique (...)
в столбце «идентификатор», а затем удалить в исходном массиве все ключи, которые были удалены из массива столбцов:
$ array = [['id' = & gt; '123', 'foo' = & gt; 'aaa', 'bar' = & gt; 'bbb'], ['id' = & gt; '123', 'foo' = & gt; 'ccc', 'bar' = & gt; 'ddd'], ['id' = & gt; '567', 'foo' = & gt; 'eee', 'bar' = & gt; 'fff']]; $ ids = array_column ($ array, 'id'); $ ids = array_unique ($ ids); $ array = array_filter ($ array, function ($ key, $ value) use ($ ids) {return in_array ($ value, array_keys ($ ids));}, ARRAY_FILTER_USE_BOTH);
Результат:
Массив ([0] = & gt; Массив ([id] = & gt; 123 [foo] = & gt; aaa [ bar] = & gt; bbb) [2] = & gt; Массив ([id] = & gt; 567 [foo] = & gt; eee [bar] = & gt; fff))
Альтернативный метод PHP 5.2
$datetime = new DateTime($user_date);
echo $datetime->format('Y-m-d H:i:s');
DateTime - это Y38k и дружественный по времени.
Следующий метод, на этот раз на стороне SQL, должен использовать метод convert в вашем запросе sql:
CONVERT(VARCHAR(11),$user_date,111)
//e.g.
SELECT CONVERT(VARCHAR(11),DATEFIELD,111) AS DATE
//or
SET DATEFIELD = CONVERT(VARCHAR(11),'".$user_date."',111)
См.: http://www.w3schools.com/sql/func_convert. asp - число в конце изменяет тип формата даты, с возвратом 111: 2006/12/30.