我有一个返回值,我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
答案 0 :(得分:0)
WP_Error
是一个php类,您的values
是一个实例。有关详细信息,请参阅https://codex.wordpress.org/Class_Reference/WP_Error
如果您想获得错误,则无法直接获取错误,因为它是私有的(虽然您可以在var_dump中看到它),上面的文档将告诉您如何通过提供的公共方法获取它
以下代码段可以让您更好地了解在类实例上使用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);
}
注意:您需要将其保存到单个文件并使用命令行运行它。例如:php demo.php
PS:var_dump
在命令行中它并不漂亮。