Проблема с array_unique

anonymous

Новичок
Проблема с array_unique

привет, сообщество

помогите новичку, пожалуйста. пытаюсь исключить повторяющиеся элементы массива при помощи array_unique, но на выходе получаю лишь первый его элемент

PHP:
var_dump($temp);
$result = array_unique($temp);
var_dump($result);
но на выходе получаю далеко не то, что ожидаю
array(8) { [0]=> object(stdClass)(1) { ["post_author"]=> string(1) "4" } [1]=> object(stdClass)(1) { ["post_author"]=> string(1) "5" } [2]=> object(stdClass)(1) { ["post_author"]=> string(1) "6" } [3]=> object(stdClass)(1) { ["post_author"]=> string(1) "2" } [4]=> object(stdClass)(1) { ["post_author"]=> string(1) "2" } [5]=> object(stdClass)(1) { ["post_author"]=> string(1) "7" } [6]=> object(stdClass)(1) { ["post_author"]=> string(1) "5" } [7]=> object(stdClass)(1) { ["post_author"]=> string(1) "9" } }

array(1) { [0]=> object(stdClass)(1) { ["post_author"]=> string(1) "4" } }
почему так?
 

zerkms

TDD infected
Команда форума
anonymous
array_unique — Removes duplicate values from an array

array(8) { [0]=> object(stdClass)(1)
 

zerkms

TDD infected
Команда форума
anonymous
я не знаю, что тебе нужно.
озвучь задачу.
 

anonymous

Новичок
Автор оригинала: zerkms
anonymous
я не знаю, что тебе нужно.
озвучь задачу.
у меня массив, сформированный по запросу из БД в переменной $temp
оттуда я хочу исключить повторяющиеся значения у меня

-~{}~ 12.10.09 11:38:

кстати, я могу получить $temp и в таком виде:

array(8) { [0]=> array(1) { [0]=> string(1) "4" } [1]=> array(1) { [0]=> string(1) "5" } [2]=> array(1) { [0]=> string(1) "6" } [3]=> array(1) { [0]=> string(1) "2" } [4]=> array(1) { [0]=> string(1) "2" } [5]=> array(1) { [0]=> string(1) "7" } [6]=> array(1) { [0]=> string(1) "5" } [7]=> array(1) { [0]=> string(1) "9" } }
но после array_unique все равно получается только первый элемент массива :(

ps я сам версткой занимаюсь, поэтому возможно задаю глупые вопросы. прошу прощения
 

Wicked

Новичок
Note: Two elements are considered equal if and only if (string) $elem1 === (string) $elem2. In words: when the string representation is the same. The first element will be used.
 

zerkms

TDD infected
Команда форума
почему бы тогда из базы не выбирать только то, что нужно?
т.е. прям запрос сформировать, который выдаст только уникальное.

предвосхищая развитие диалога: нет, подсказать как это сделать мы не сможем, пока не увидим самого запроса :)
 

anonymous

Новичок
Автор оригинала: zerkms
почему бы тогда из базы не выбирать только то, что нужно?
т.е. прям запрос сформировать, который выдаст только уникальное.

предвосхищая развитие диалога: нет, подсказать как это сделать мы не сможем, пока не увидим самого запроса :)
запрос имеет такой вид:

PHP:
$currentMonth = date('m');
$temp = $wpdb->get_results("SELECT post_author FROM $wpdb->posts WHERE month(post_date) = '" . $currentMonth . "' AND post_status = 'publish' AND post_type = 'post'");
тут и там мелькают функции, классы и переменные вордпресса, get_results работает так: http://codex.wordpress.org/Function_Reference/wpdb_Class
в post_author - ID авторов постов
 

anonymous

Новичок
Автор оригинала: zerkms
и что уникальное нужно выбрать?
выбрать хочу уникальные ID авторов
дважды повторяются 2 и 5 (их можно наблюдать в том дампе, что в первом посте)
я хочу получить массив с уникальными ID
 

Фанат

oncle terrible
Команда форума
а надо за месяц за все года?
или больше года сайту жизнь не планируется?
 

anonymous

Новичок
Автор оригинала: *****
а надо за месяц за все года?
или больше года сайту жизнь не планируется?
надеюсь и не один год :)
просто выборка нужна за текущий месяц

с подачи zerkms все чудесно получилось. спасибо ему еще раз!
 

Фанат

oncle terrible
Команда форума
за текущий месяц любого года? и этого, и прошлого, и позапрошлого?

-~{}~ 12.10.09 13:20:

похоже, он так и не понял
 

zerkms

TDD infected
Команда форума
*****
через год придёт :)

anonymous
у тебя нет условия "текущий год"
 
Сверху