두 경우 모두 클래스 (stdClass 또는 Array)의 인스턴스를 만들고 데이터를 설정해야합니다. 두 번째 경우에는 새 작업을 추가하므로 캐스트는 암시 적으로 stdClass 인스턴스를 만들고 Array에서 stdClass로 구문 분석하는 데이터 작업을 암시 적으로 제공합니다.
첫 번째 경우에는 클래스 인스턴스 만 만들고 두 번째 클래스는 모두 만들기이지만 1은 프로그래머에게는 보이지 않습니다. | 10.045720100403 : 나는 첫 번째는 메모리와 속도
1 <?php
2
3 $time_start = microtime(true);
4
5 for($i=0 ; $i<1000000; $i++)
6 {
7 $profile = new stdClass;$
8 $profile->first_name = 'Woppi';
9 $profile->last_name = 'Jillenjack';
10 $profile->email = '[email protected]';
11 $time_end = microtime(true);$
12 }
13
14 $object = $time_end - $time_start;
15
16
17 $time_start = microtime(true);
18 for($i=0;$i<1000000;$i++)
19 {
20 $profile = array('first_name'=>'Woppi',
21 'last_name'=>'Jillenjack',
22 'email'=>'[email protected]');
23 $profile = (object)$profile;
24 $time_end = microtime(true);
25 }
26 $array_to_object = $time_end - $time_start;
27
28 echo "stdClass: $object | Typecasting: $array_to_object";
29
30 ?>
stdClass을보다 효율적이라고 생각 형변환 : 10.009358882904
stdClass : 9.9519069194794 | 형변 변환 : 9.2100629806519
stdClass : 9.2515120506287 | 형변 변환 : 9.480808019638
stdClass : 9.5376181602478 | 형변 변환 : 9.2310011386871
stdClass : 9.9628109931946 | 타입 캐스팅 : A) 나는 사람들이 실제로 우려하는 믿을 수 없다 : 10.414475917816
시험은이 경우에 아마도 메모리 소비 도움이 우리가 사용 하나 다른
두 가지의 선택을, 결정적인 아니다 물체 건설 속도. b) 외부 판독기에 대해 명확한 것을 수행하십시오. c) 독자적으로 벤치마킹을 수행하는 것이 얼마나 어려운가요? d) 그것은 네 가지였습니다. –
글쎄, 만약 당신이이 작업을 초당 수 천 가지가 있다면, 정말 좋아할 것입니다. 또한 당신이 공개하고 싶은 오픈 소스 라이브러리를 만들고 있다면 그것을 완벽하게 만들고 싶습니다. 나는 완벽 주의자이며 그것이 정말로 중요하다고 믿습니다. –
@ Cicada 나는 많은 것을 배워야한다. .. 나는 단지 흥미로운 ... that 's 누구나 이어도. – Woppi