Уникализация сложных массивов

golova2

Новичок
Уникализация сложных массивов

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

Элементы являются массивами, так что array_unique не подходит!

В качестве примера я использую такой массив:

PHP:
Array
(
    [0] => Array
               (
                    [a] => "one"
                    [b] => "two"
                    [c] => "three"
               )
    [1] => Array
               (
                    [a] => "onesdfdf"
                    [b] => "twosdfd"
                    [c] => "threesddf"
               )
    [2] => Array
               (
                    [a] => "one"
                    [b] => "two"
                    [c] => "three"
               )

)
В результате элемент [2] из массива должен удалиться.

Есть какие-нибудь идеи?...

Заранее спасибо
 

golova2

Новичок
MiRacLe
Вы имеете ввиду json_encode?
Спасибо за наводку)))

HraKK
Спасибо, думаю, что уже не надо

-~{}~ 10.10.08 15:39:

На серваке стоит PHP4, заменил json на serialize

Спасибо всем большое!
 

Духовность™

Продвинутый новичок
неужели самому не интересно попытаться написать алгоритм? ведь в этом ничего сложного нет, если знаешь язык. да и самому же интересно будет. написал бы функцию, а потом на суд бы вынес.

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

golova2

Новичок
я сделал так

PHP:
function cleararray($array) {

	array_walk($array, create_function('&$value,$key', '$value = serialize($value);'));
	$array = array_unique($array);
	array_walk($array, create_function('&$value,$key', '$value = unserialize($value);'));

	foreach ($array as $item) {
		$newarray[] = $item;
	}

	return $newarray;

}
foreach - для того чтобы индексы были по порядку. более элегантно не додумался....
 
Сверху