Массив: $objects = array( (object)array('name'=>'Stiven','age'=>25,'variant'=>(object)array('surname'=>'Sigal')), (object)array('name'=>'Michael','age'=>30,'variant'=>(object)array('surname'=>'Jackson')), (object)array('name'=>'Brad','age'=>35,'variant'=>(object)array('surname'=>'Pit')), (object)array('name'=>'Jolie','age'=>35,'variant'=>(object)array('surname'=>'Pit')), ); echo "
"; print_r($objects); Как удалить объекты, которые имеют одинаковые variant->surname и age? Точнее не удалить, а оставить один из них, т.е. чтобы таких одинаковых элементов не было в массиве.Ответ
отсортировать с помощью ф-ии usort() и собственной ф-ии, сравнивающей по полям variant->surname и age. Тогда объекты с одинаковыми значениями точно будут подряд; пробежаться array_filter() и ф-ей, сохраняющей статически предыдущие значения variant->surname и age, с тем, чтобы вернуть true только, если значения изменились. Upd. для ленивых: работающий пример
Комментариев нет:
Отправить комментарий