За последние 24 часа нас посетили 35335 программистов и 1814 роботов. Сейчас ищут 857 программистов ...

Порядковые номера классов

Тема в разделе "PHP для новичков", создана пользователем php_user, 4 мар 2015.

  1. php_user

    php_user Новичок

    С нами с:
    19 апр 2014
    Сообщения:
    91
    Симпатии:
    0
    Просто наблюдение- номера удаленных классов забираются в обратном порядке. Может есть еще какая информация по этой теме
    Код (PHP):
    1. class AAA {}
    2. $x1 = new AAA; var_dump($x1);
    3. $x2 = new AAA; var_dump($x2);
    4. $x3 = new AAA; var_dump($x3);
    5. $x4 = new AAA; var_dump($x4);
    6. unset($x3);
    7. unset($x4);
    8. unset($x2);
    9. $x5 = new AAA; var_dump($x5);
    10. $x6 = new AAA; var_dump($x6);
    11. $x7 = new AAA; var_dump($x7);
    Результат:
    object(AAA)[1]
    object(AAA)[2]
    object(AAA)[3]
    object(AAA)[4]
    object(AAA)[2]
    object(AAA)[4]
    object(AAA)[3]
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    не классов а объектов классов. уже пора выражаться грамотно.

    материалов не встречал но думаю дело в алокейте. выделено фиксированное кол-во памяти под объекты класса. ты ряд из них удалил, мусорщик еще не выполнился поэтому фактически в памяти лежит мусор. при создании нового объекта оптимизатор проверяет есть ли мусор такого класса - мусор есть и на его место залезает новый объект. если бы мусора не было - был бы новый алокейт.