【问题标题】:PHP how to Get data from var_dump stdclassPHP如何从var_dump stdclass获取数据
【发布时间】:2012-06-03 18:12:45
【问题描述】:

我使用 Dropbox API,当我使用 var_dump() 使用 metaData 方法时,我需要列出文件夹中的所有文件; 比如:var_dump($metaData);

我得到了这些:

object(stdClass)#26 (9) { 
    ["hash"]=> string(32) "d36517b72d827dc28b1e0681a23e463a" 
    ["thumb_exists"]=> bool(false) 
    ["bytes"]=> int(0) 
    ["path"]=> string(1) "/" 
    ["is_dir"]=> bool(true) 
    ["size"]=> string(7) "0 bytes" 
    ["root"]=> string(10) "app_folder" 
    ["contents"]=> array(1) { 
        [0]=> object(stdClass)#27 (12) { 
            ["revision"]=> int(1) 
            ["rev"]=> string(9) "10815f504"  
            ["thumb_exists"]=> bool(false)  
            ["bytes"]=> int(7332680)  
            ["modified"]=> string(31) "Sun, 03 Jun 2012 17:51:47 +0000"  
            ["client_mtime"]=> string(31) "Sun, 03 Jun 2012 17:51:47 +0000"  
            ["path"]=> string(9) "/etmh.pdf"  
            ["is_dir"]=> bool(false)  
            ["icon"]=> string(18) "page_white_acrobat"  
            ["root"]=> string(7) "dropbox"  
            ["mime_type"]=> string(15) "application/pdf"  
            ["size"]=> string(4) "7 MB"  
        }  
    } 
    ["icon"]=> string(6) "folder" 
} 

我该如何处理这些数据,例如我需要列出这个文件夹中的所有文件 ,现在,上例中只有一个文件 (["path"]=> string(9) "/etmh.pdf" :: ["mime_type"]=> string(15) "application/pdf" )

我需要像 foreach 这样的东西来获取和处理所有数据..

谢谢你..

【问题讨论】:

  • 你是在问如何迭代$metaData->contents
  • Phoenix,没错,我需要从 $metaData->contents 获取所有文件。我该怎么做?
  • 克里斯,对不起,我只是将我的代码复制粘贴到 我不知道如何格式化它。/也感谢为我做的 Dev-null-dweller :)

标签: php


【解决方案1】:

您可以使用函数get_object_vars() 从对象中提取变量。

文档链接http://de.php.net/manual/en/function.get-object-vars.php

【讨论】:

  • 谢谢,我真的只是找到了这个函数://从对象到数组。函数 toArray($data) { if (is_object($data)) $data = get_object_vars($data);返回 is_array($data) ?数组映射(功能,$数据):$数据; } 和我一起工作得很好——艾哈迈德刚刚编辑
【解决方案2】:

您可以使用get_object_vars(),然后使用dump()

<?php
    var_dump(get_object_vars($object));
?>

get_object_vars() 返回一个具有对应 $key=&gt;$value 对的数组,然后您可以遍历该数组来做一些更明智的事情,例如读取存储在该对象中的信息。阅读Manual 以获得更好的理解,它只有几行。

【讨论】:

    猜你喜欢
    • 2011-07-28
    • 2012-05-05
    • 2013-08-21
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多