이 stdClass 객체를 통해 어떻게 반복 할 수 있는지 알아 내려고합니다. 경로 각 내용 배열 항목 [0] - [?]의 값을 얻으려고합니다.PHP stdClass 객체 배열 루핑
는 객체 배열은 다음과 같습니다
stdClass Object
(
[hash] => zzzzzzzzzzzzzzzzzzzzzzzzzzzz
[revision] => 22
[rev] => 161f5f4043
[thumb_exists] =>
[bytes] => 0
[modified] => Sun, 23 Mar 2014 18:05:38 +0000
[path] => /Camera Uploads
[is_dir] => 1
[icon] => folder_photos
[root] => dropbox
[contents] => Array
(
[0] => stdClass Object
(
[revision] => 47
[rev] => 2f1f5f4043
[thumb_exists] => 1
[bytes] => 3212196
[modified] => Sun, 23 Mar 2014 18:07:05 +0000
[client_mtime] => Wed, 05 Feb 2014 19:10:14 +0000
[path] => /Camera Uploads/2014-02-05 14.10.13.jpg
[is_dir] =>
[icon] => page_white_picture
[root] => dropbox
[mime_type] => image/jpeg
[size] => 3.1 MB
)
[1] => stdClass Object
(
etc etc...
현재 내가 루프에 다음 코드를 시도하고있다 :
line 75: print_r ($dropbox->GetMetadata($file->path));
line 77: foreach ($dropbox->GetMetadata($file->path) as $arr) {
line 78: foreach ($arr as $obj) {
line 79: $path = $obj->path;
line 80: echo $path;
line 81: }
line 82: }
을하지만 난이 오류가 계속 :
(!) Warning: Invalid argument supplied for foreach() in
C:\wamp\www\test\sample.php on line 78
Call Stack
# Time Memory Function Location
1 0.0011 157592 {main}() ..\sample.php:0
내부 foreach 루프 인'var_dump ($ arr);'만 제거하면 알 수 있습니다. Btw,'$ arr '은 오해하기 쉬운 변수 이름입니다. 객체의 속성을 반복 할 때'$ property' 여야합니다. – hek2mgl
@ hek2mgl 그러면 ** 오류가 발생합니다.주의 : C : \ wamp \ www \ test \ sample.php의 비 객체 속성을 얻으려고합니다. line 78 ** – StealthRT
다시 한번 생각해보십시오. 다시 시도해보십시오. 일단 당신이 계몽된다면 많이 말할 것이 없다는 것을 알게 될 것입니다. – hek2mgl