2015-03-31 2 views
0

У меня есть возвращаемое значение и я var_dump() для получения данных.PHP, как получить данные из объекта return

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 Object извлечения я попытался foreach но отметить случается.

, что я пытаюсь сделать, чтобы получить это значение:

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

0B1n5jy1RsUExUWNCN01GeXBvWmM, которые устанавливают на upload_error

+2

1. Вы что-то пробовали? 2. Пожалуйста, просто изучите основы доступа к объекту или объекту – Rizier123

+2

. Или прочитайте [codex] (https://codex.wordpress.org/Class_Reference/WP_Error) о том, как поймать ошибки из 'WP_Error' – adeneo

+0

. Убедитесь, что plz это действительно результат «var_dupm ($ some_oject)». Потому что вы показали; не кажется действительно объектом – Sami

ответ

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); 
    } 
    

Примечание: Вы должны сохранить это в один файл и запустить его с помощью командной строки. например: php demo.php PS: var_dump Это не очень хорошо в командной строке.

Смежные вопросы