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

пятничное помутнение разума или escapeshellarg взбунтовалась

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

  1. bazot

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

    С нами с:
    3 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Добрый день!
    Всегда считал, что функция escapeshellarg возвращает тип string, а функция intval возвращает тип integer.
    Но сегодня столкнулся со случаем, когда intval вернула 0 для строкового значения, возвращаемого функцией escapeshellarg . Не пойму в чем прикол. Если пихать в intval явную строку, то все преобразуется отлично.
    Подскажите в чем здесь ошибка?
    Код:
    PHP:
    1.  
    2. <?php
    3. $x = escapeshellarg(114);
    4. print("escapeshellarg(114) - ".$x);
    5. print "<br />   ";
    6. print("intval(escapeshellarg(114)) - ".intval($x));
    7. print "<br />   ";
    8. print("intval(\"114\") - ".intval("114"));
    9. ?>
    выдает
     
  2. neverlose

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

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    В кавычках, которые поставились до 114 и после.
    сделайте до intval ещё и trim( $value, '"');
     
  3. bazot

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

    С нами с:
    3 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Спасибо большое за просветление!
    Это конечно сработало. Я думал раньше, что
    так как