За последние 24 часа нас посетили 17126 программистов и 1745 роботов. Сейчас ищут 915 программистов ...

Существует ли функция замены значения переменной?

Тема в разделе "PHP для новичков", создана пользователем borus, 18 июн 2013.

  1. borus

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

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Здравствуйте.

    Скажите, есть ли такая функция в php, которая подставляет значение, если в переменной находит определенное значение или его отсутствие(null).
    Вот такой условный синтаксис вызова должен быть к примеру:
    Код (Text):
    1. заменить($переменная, искомое значение, подставляемое значение)
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.809
    Симпатии:
    1.332
    Адрес:
    Лень
    str_replace("555", "ddd", "ddddddddddd555ddd");
     
  3. borus

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

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    а если это integer или другой численный тип?
     
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    а ты уверен, что там куда ты это хочешь вставить, численный тип? :) PHP так балует своих программистов, что многие даже не подозревают, что получают из GET и POST, алсо извлекают из базы строки и только строки.
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Функция может вернуть любой тип в любом количестве включая нулл.

    Аргументы могут передаваться по ссылке и меняться неявно.
     
  6. borus

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

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    правильно понял, что нет универсальной функции подмены значения любого типа другим значением этого же типа?
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    похоже, что ты вообще ничего не понял.
     
  8. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Поиск идет в строке, замена возможна тоже только строкой. Тут только один тип. Внутри строки "бла-бла 123 строка.." 1, 2 и 3 - это тоже строка "123". Можно только найти конкретные символы или последовательность (те же "123"), решить, что они похожи на числа типа int ("1" - это скорей всего 1, "2" - 2 и т.д.), заменить на другую последовательность символов.
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    правильно. напиши сам
     
  11. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    А напишешь - покажи, чтобы мы знали, о чем ты говорил =)
     
  12. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    да практически в любом скрипте такое используется, например
    Код (Text):
    1. <?php
    2. if (!isset($a) || null === $a || 'a' === $a)
    3. {
    4.   $a = 'b';
    5. }
    для подстановки значений из строки запроса. Во фреймворках пишется примерно так
    Код (Text):
    1. <?php
    2. $a = $this->getRequest->getParam('a', 'b');
     
  13. FalkoN

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

    С нами с:
    1 апр 2011
    Сообщения:
    184
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Есть!
    if ($a==357) $a=123;
    Пойдет?
     
  14. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768