2017-09-13 6 views
0

나는 두 stdclass 객체, 즉 두 개의 stdClass 어레이를 비교하고 업데이트 할 수 있습니까?

stdClass Object 
(
    [apple] => 10 
    [orange] => 10 
    [grape] => 10 
    [banana] => 20 
    [mango] => 30 
) 

stdClass Object 
(
    [apple] => 15 
) 

나는 정상적인 배열 작업 같은 사과를 업데이트 할 수 있나요? 아니면 그렇게 할 또 다른 방법이 있습니까?

또한이 배열과 일반 배열의 차이점은 무엇입니까? 당신은 정상 foreach 루프를 사용하여 그들을 통해 루프 것

+1

사람들은, 배열 객체 수 없습니다. – Script47

+0

[개체 속성 비교 및 ​​PHP의 diff 표시] 가능한 중복 (https://stackoverflow.com/questions/5911067/compare-object-properties-and-show-diff-in-php) –

답변

0

:

$obj = new StdClass; 

$obj->test = 1; 
$obj->more_testing = 2; 

foreach ($obj as $key => $value) { 
    echo $key . ': ' . $value . '\n\n'; 
} 

또는 (array)를 사용하여 배열로 당신의 객체로 캐스팅 할 수있다.

라이브 예

Repl

읽기 자료

Iterations

+0

이것은 공용 필드에서만 작동합니다 . –

0

comparing objects에 공식 문서를 참조하십시오 :

비교 연산자 (==)를 사용할 때 객체 변수는 다음과 같은 간단한 방식으로 비교됩니다. 두 객체 인스턴스가 동일한 속성 및 값 (값은 ==와 비교되는 경우)이 같고 같은 학급.

ID 연산자 (===)를 사용할 때 객체 변수는 동일한 클래스의 동일한 인스턴스를 참조하는 경우에만 동일합니다.

또한 여기를 참조 : What's the fastest way to compare two objects in PHP?