다차원 VARIANT 배열 (vt_array)을 반환하는 COM 개체로 작업하고 있는데 배열에서 값을 읽으려고합니다.PHP의 COM 객체에서 반환 된 다차원 변형 배열을 읽는 방법은 무엇입니까?
print_r($mdArray)
을 사용하면 variant Object
이 표시됩니다. (variant_get_type($mdArray)
반환 8204
.)
내가 foreach ($mdArray as $oneArray)
를 사용하여 시도하지만 난 메시지가 :
Warning: Loader::getfields() [loader.getfields]: Can only handle single dimension variant arrays (this array has 2) in C:\Inetpub\wwwroot\root\script\fileloader.php on line 135 Fatal error: Uncaught exception 'Exception' with message 'Object of type variant did not create an Iterator' in C:\Inetpub\wwwroot\root\script\fileloader.php:135 Stack trace: #0 C:\Inetpub\wwwroot\root\script\fileloader.php(135): Loader::getfields() #1 C:\Inetpub\wwwroot\root\testloader.php(21): Loader->getfields() #2 {main} thrown in C:\Inetpub\wwwroot\root\script\fileloader.php on line 135
(foreach는 루프 라인 135에)
내가 배열에 대해 얻을 수있는 유일한 정보 8
을 반환하는 count($mdArray)
을 사용합니다.
다차원 VARIANT 어레이에서 읽는 사람이 있다면이 방법을 알려주십시오.
com 객체가 작성된 언어에서 배열의 정확한 클래스/유형을 알고 있습니까? 이미 VB에서 배열을 파싱해야 할 수도 있습니다. 힌트 :'$ vb_control = new COM ("MSScriptControl.ScriptControl");' –
또한 for ($ x = 0; $ x < count ($ mdArray); $ x ++) $ oneArray = $ mdArray [$ x];'대신 루프? –
$ oneArray = $ mdArray [0] 시도한이 전체 메시지와 함께이 메시지가 충돌했습니다 : FastCGI 오류 FastCGI 처리기가 요청을 처리 할 수 없습니다. 오류 정보 : * FastCGI 프로세스가 예기치 않게 종료했습니다. * 오류 번호 : -2147467259 (0x80004005). * 오류 설명 : 알 수없는 오류 HTTP 오류 500 - 서버 오류. 인터넷 정보 서비스 (IIS) – john