За последние 24 часа нас посетили 53100 программистов и 1765 роботов. Сейчас ищут 1195 программистов ...

preg_replace произойдёт ли вызов функции

Тема в разделе "PHP для новичков", создана пользователем Alex5646, 3 фев 2016.

  1. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Если я к примеру напишу такою инструкцию:
    Код (PHP):
    1. preg_replace('/%PARENT%/', exampleFunction(), 'Здесь какой то текст, но того что мы ищем нет.') 
    Будет ли вызвана exampleFunction() если не чего не найдено?
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    да. сам догадаешься, почему?
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    у тебя по фото верхняя часть головы больше чем нижняя, у него на оборот.
     
  4. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Смешно
     
  5. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    VLK, Alex5646, не отвлекайтесь, пожалуйста.

    Alex5646, есть догадки, почему функция будет вызвана?
     
  6. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Наверное потому что я её вызвал. У меня была глупая догадка что функция записывается в переменную а потом вызываться при использовании переменной, просто хотел уточнить.
     
  7. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    слова знакомые вижу, но смысл из них сложно вычленить, извини)))

    короче. при вызове функции preg_replace ожидается что первый аргумент будет содержать строку шаблона, второй - строку замены, третий - строку для обработки. и так далее. поскольку ты указываешь вторым аргументов функцию - она будет вызвана, и тот результат, который она вернет будет адресован во второй аргумент.
    то есть, preg_replace не работает так что аргумент замены будет рассмотрен только если случились совпадения. она вызывается с готовыми на момент вызова значениями.
     
  8. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Ganzal, Спасибо