ФорумПрограммированиеPHP для идиотов → Не получается установить тип переменной

Не получается установить тип переменной

  • Grohot

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2007 г. 5:42

    Из html кода, регулярным выражением забираю число.
    пишу условие:

    if($num > 1) {
    echo "<p>bla bla bla</p>";
    }

    Не работает. Устанавливаю тип переменной settype($num, int); Показывает, что $num integer, но значение переменной равно "0". Как правильно сделать?
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 26 декабря 2007 г. 5:47, спустя 4 минуты 53 секунды

    Ты лучше покажи как ты этот самый $num назначаешь, потому что условие верно и ошибка не в нем.
    from TRIAL with LOVE
  • Grohot

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2007 г. 5:52, спустя 4 минуты 41 секунду


    $num = $all_page[1][0];
    settype($num, int);
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 26 декабря 2007 г. 5:55, спустя 3 минуты 8 секунд

    Всё равно мало что понятно.
    В общем просмотри все значения $all_page через foreach() или print_r($all_page) и тогда уже смотри какое начение и куда ты передаешь. Но вобще settype() тебе точно не нужен.
    from TRIAL with LOVE
  • Grohot

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2007 г. 5:59, спустя 4 минуты 41 секунду

    Посмотрел. Точно это значение. Так как можно задать числовой тип переменной? Значение $all_page[1][0] = 18. Но условие не работает. Я думаю, что из-за неверного типа переменной.
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 26 декабря 2007 г. 6:08, спустя 8 минут 10 секунд


    Так как можно задать числовой тип переменной?
    Я тебе потом расскажу, пока это тебе не надо.


    Значение $all_page[1][0] = 18.
    Врешь. var_dump($all_page[1][0]) в студию.


    Я думаю, что из-за неверного типа переменной.
    Неправильно думаешь.
  • Grohot

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2007 г. 6:20, спустя 12 минут 12 секунд

    string(8) "&nbsp;18"
    :) Надо пробел убрать
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 26 декабря 2007 г. 7:58, спустя 1 час 38 минут 46 секунд

    А откуда берется пробел? Точней, откуда берется $all_page?
    Просто убрать "&nbsp;" - substr ($all_page[1][0], 6);
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 26 декабря 2007 г. 11:50, спустя 3 часа 51 минуту 45 секунд

    Я вот крайне редко использую функцию intval()
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 26 декабря 2007 г. 12:01, спустя 10 минут 24 секунды


    А откуда берется пробел? Точней, откуда берется $all_page?
    Просто убрать " " - substr ($all_page[1][0], 6);


    str_replace('&nbsp;', '', $all_page[1][0]);
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 26 декабря 2007 г. 12:12, спустя 11 минут 10 секунд

    Вот нацарапал примитивную функцию, проверил, работает.

    <?php
    function unhtmlspecialchars($subject) {

    $searchArr = array('&amp;', '&nbsp;', '&quot;', '&#38;#039;', '<', '>');
    $replaceArr = array('&', ' ', '"', '\'', '<', '>');

    return str_replace($searchArr, $replaceArr, $subject);
    }
    ?>
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 26 декабря 2007 г. 12:19, спустя 6 минут 44 секунды

    &#38;#039; == &#039; (&тут_должна_быть_решеточка039;)
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

Пожалуйста, авторизуйтесь, чтобы написать комментарий!