PHP如何从对象返回数据中检索数据

时间:2015-03-31 05:37:58

标签: php arrays object

我有一个返回值,我var_dump()来获取数据。

var_dump($values)

这是结果:

object(WP_Error)#171 (2) { ["errors":"WP_Error":private]=> array(1) { ["upload_error"]=> array(1) { [0]=> string(28) "0B1n5jy1RsUExUWNCN01GeXBvWmM" } } ["error_data":"WP_Error":private]=> array(0) { } } 

我是PHP对象检索的新手我试过foreach但是注意到了。

我想要做的是获得这个值:

["upload_error"]=> array(1) { [0]=> string(28) "0B1n5jy1RsUExUWNCN01GeXBvWmM" }

0B1n5jy1RsUExUWNCN01GeXBvWmM

上设置的upload_error

1 个答案:

答案 0 :(得分:0)

  1. WP_Error是一个php类,您的values是一个实例。有关详细信息,请参阅https://codex.wordpress.org/Class_Reference/WP_Error

  2. 如果您想获得错误,则无法直接获取错误,因为它是私有的(虽然您可以在var_dump中看到它),上面的文档将告诉您如何通过提供的公共方法获取它

  3. 以下代码段可以让您更好地了解在类实例上使用foreach。您可以查看手册以获取更多详细信息。 http://php.net/manual/en/language.oop5.iterations.php

    class WP_Error_Example
    {
        private $errors = array();
        public $pk = 1;
    }
    
    $e = new WP_Error_Example();
    $e2 = new WP_Error_Example();
    
    // #1,#2 in var_dump shows how many instance? 
    var_dump($e);
    var_dump($e2);
    
    // only public value 
    foreach ($e as $k => $v) {
        var_dump($k, $v);
    }
    
  4. 注意:您需要将其保存到单个文件并使用命令行运行它。例如:php demo.php PS:var_dump在命令行中它并不漂亮。