나는 개체의 배열을 가지고,하지만 난 그들로부터 몇 가지 속성에 의해 유사한 개체를 제거해야합니다 예를 들어배열에서 비슷한 개체를 제거 하시겠습니까?
: (만약 이것에 대한 배열에서 하나 개의 객체를 만드는 방법
array(12) {
[0]=>
object(stdClass)#848 (5) {
["variant"]=>
object(stdClass)#849 (4) {
["name"]=>
string(8) "Alex"
}
["age"]=>
int(10)
}
[1]=>
object(stdClass)#851 (5) {
["variant"]=>
object(stdClass)#852 (4) {
["name"]=>
string(8) "Alex"
}
["age"]=>
int(10)
}
예를 들어 이름 속성에서만 비교해야합니까?)
여전히 문제가 있습니다.
업데이트
나는 개체의 새로운 배열을 작성했습니다 :
$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 "<pre>";
print_r($objects);
그래서 내가해야 할 일을 객체 속성 (variant-> 성씨와 나이)를 비교하는 것입니다, 만약 두 객체는 비슷한 객체를 가지고 있습니다.
solution
의 절반은 다음과 같습니다
$tmp = array();
foreach ($objects as $item=>$object)
{
$tmp[$object->variant->surname][$object->age] = $object;
}
print_r($tmp);
이 Unfortunatelly 내가 객체의 이전 스타일의 배열이 필요합니다.
당신은 사용할 수 있습니다에서 인용'... 콜백으로 –
을 array_walk' 그리고 같은 이름으로 여러 개체가있는 경우 어떤 일이 일어날 것인가? – Jon
동일한 이름을 가진 여러 객체가 배열 중 하나에 있어야합니다. – Smash