내가 이해하는 바에 따르면, PHP stdClass
은 코드가 실제로 중요하게 중첩되어있을 때 일반적으로 배열보다 빠릅니다. 어떻게 그 효율성이 나는 즉시 stdClass
객체를 정의하는 타입 캐스팅하고있어 경우 영향 : 나는,이려고하고있는 코드가 많은 여러 번 실행되는 경우PHP 배열의 효율성이 객체로 캐스트됩니까?
$var = (object)array('one' => 1, 'two' => 2);
것이다 것이 더 명시 적으로 객체로 $var
를 정의 대신 : 다음, 거기에에서 객체로 어느 쪽이든 $var
에 접근 할 것이기 때문에
$var = new stdClass();
$var->one = 1;
$var->two = 2;
차이는 무시할 수 있습니까?
편집 :
stdClass 내가 여기에서 필요로하는 데이터 형식입니다. 나는 배열을 사용해야하는지 또는 stdClass 객체를 사용해야하는지 여부에 관심이 없다. 더 stdClass
을 인스턴스화하는 (object)array(....)
의 축약어를 사용하는 것이 효율적인지에 더 관심이 있습니다. 그리고 예, 이것은 수천 번 잠재적으로 실행될 코드입니다.
stdClass는 배열을 대신 할 수 없습니다. ArrayObject를 대신 사용해보십시오. 또한 '훨씬 더 빠름'은 상대적이며 대부분의 경우 실제로는 부적합합니다. – Mchl