За последние 24 часа нас посетили 19050 программистов и 1844 робота. Сейчас ищут 938 программистов ...

вывод свойств класса

Тема в разделе "PHP для новичков", создана пользователем vikrorpert, 31 мар 2018.

  1. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    почему такой код показывает не все свойства класса
    Код (Text):
    1. foreach ($this as $key => $value) {
    2.             var_dump($key);
    3.         }
    а этот код показывает
    Код (Text):
    1. var_dump(get_object_vars($this));
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.594
    Симпатии:
    1.764
    приватные свойства предков в наследнике не доступны (хотя висят в памяти вместе с каждым экземпляром наследника)
     
    Fell-x27 нравится это.
  3. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    там публичные свойства
    get_object_vars почему тогда выводит ?
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.810
    Симпатии:
    1.332
    Адрес:
    Лень
    публичные выводит и цикл
     
  5. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
  6. Рихард

    Рихард Новичок

    С нами с:
    13 янв 2018
    Сообщения:
    89
    Симпатии:
    6
    мне нравится такая распечатка массива или объекта
    Код (Text):
    1. function debug($value)
    2. {
    3. echo '<br>';
    4. print_r($value);
    5. echo '<br>';
    6. }
     
  7. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    пишу же что цикл перестал выводить
    или первое сообщение никто не читает?
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.810
    Симпатии:
    1.332
    Адрес:
    Лень
    что не так?
    PHP:
    1. <?php
    2.  
    3.  
    4. class test
    5. {
    6.     public $a, $b = 2, $c = 'string';
    7.     private $d = 666;
    8. }
    9.  
    10. $a = new test;
    11.  
    12. foreach ( $a AS $k => $v )
    13. {
    14.     printf ( '%s => %s' . PHP_EOL, $k, $v );
    15. }
    Код (Text):
    1. a =>
    2. b => 2
    3. c => string