Добрый день! Есть проблема - не могу сообразить как нужным образом уменьшить кол-во элементов массива объектов полученных из БД. задача состоит в том, чтобы уменьшить массив объектов так, чтобы остались только объекты с уникальными в пределах $productParsedArray product_Code ("id" товара) , и с подсчитанными кол-вами product_Count Т.е., для product_Code = 222, итоговый объект нового массива $productParsedArray будет содержать свойства comingId = 10, product_Code = 222, и product_Count = 9 ( 2 + 7 ) Подобных по сложности задач раньше как то не приходилось решать, пробовал уже по всякому, черновик скопился немалый) Код (Text): // объекты товара из таблицы приходов $comingProducts = array( obj1->comingId = 10 // id прихода ->product_Code = 222 // id товара ->product_Count = 2 // кол-во штук товара ,obj2->comingId = 10 ->product_Code = 333 ->product_Count = 4 ,obj3->comingId = 10 ->product_Code = 222 ->product_Count = 7 [ .. и так далее .. ] ); //Последнее, что пытался сделать, это нечто подобное: $productParsedArray = $productUnique = array(); foreach( $comingProducts as $product ) { // $productUnique[] = $product->product_Code; // $productParsed = $product; // // foreach( $productUnique as $unique ) // { // if( $product->product_Code == $unique ) // { // foreach( $productParsedArray as $productParsedObject ) // { // if( $productParsedObject->product_Code == $unique ) // { // $productParsedObject->product_Count += $product->product_Count; // $productParsedArray[] = $productParsedObject; // $product = null; // break; // } // } // // } // // } } но в итоге только запутался и так и не получилось сделать задуманное Подскажите грамотный способ для подобной работы с объектами?..
попробуйте решить эту задачу средствами sql. группировка по comingId и product_Code, и суммирование по product_Count