За последние 24 часа нас посетили 59846 программистов и 1770 роботов. Сейчас ищут 822 программиста ...

Возвращения массива из функции

Тема в разделе "PHP для новичков", создана пользователем guest2013, 14 апр 2008.

  1. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    guest2013
    с 476 страницы можно смело начинать :)
     
  2. guest2013

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

    С нами с:
    19 ноя 2007
    Сообщения:
    109
    Симпатии:
    0
    armadillo, по двухбальной шкале - двойки вполне достаточно :D
    попробуйте сформулировать понятие СЕМАНТИКА.
     
  3. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    большой опыт троллизма?
    сравните x++ для ссылки и указателя.
    или a=b
     
  4. guest2013

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

    С нами с:
    19 ноя 2007
    Сообщения:
    109
    Симпатии:
    0
    topas, нашел на странице 483 вот это:
    Там также написано, что если изменить $variable (т.е. присвоить ей что-то другое), то счетчик уменьшается на единицу.
    Я, правда, не нашел где описано про реальное раздвоение значений. Я догадываюсь, что это может быть только если значением является объект (например Array и мы меняем значение какого-то его элемента).
    Буду читать дальше, но думаю надо всеже написать тест для определения того действительно ли $a=$b работает быстрее чем $a=&$b, где $b=Array(...)

    PS Было бы здорово, если бы где-нибудь на форуме была бы сделана тема про эту и другие аналогичные ситуации, на которой было бы только описания автора (без всякого лишнего флуда :) ).

    armadillo, Вы мне настойчиво пытаетесь объяснить, что если применить семантику ссылок к указателю, то получиться совсем другое. Т.е.
    int &x=F;
    int *y=&F;
    x++; // увеличит значение переменной F
    y++; // увеличит указатель y, который будет ссылаться на следующую область памяти после F
    А я с этим и не спорю.

    Я же пытаюсь объяснить, что с помощью указателей можно записать эквивалентные операции ссылкам:
    int &x=F;
    int *y=&F;
    x++; // увеличит значение переменной F
    (*y)++; // увеличит значение переменной F
    Форма записи одной и той же операции различна (операция - увеличить значение переменной F)
    СЕМАНТИКА - РАЗЛИЧНА, РЕЗУЛЬТАТ - ОДИНАКОВЫЙ.
    Предлагаю мир :)