За последние 24 часа нас посетили 18085 программистов и 1680 роботов. Сейчас ищут 1087 программистов ...

преобразования строки в число

Тема в разделе "Прочие вопросы по PHP", создана пользователем olpak, 14 окт 2010.

  1. olpak

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

    С нами с:
    7 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Добрый день!

    делаю преобразование строки в число, не выходит что-то в условии не срабатывает :(

    $d1=$k1+"1"; // где $k1 и $k2 строка взятая с базы (значение цифровое в этой переменной)
    $d2=$k2+"1";

    1. if ($ds==$date and $d2<$d1 and $drvn==$driver)
    "условие не работает"

    не срабатывает, а вот если добавлю условие "=", то работает только на "="
    2. if ($ds==$date and $d2<=$d1 and $drvn==$driver)
    "условие работает только, когда ="

    т.е получается, он все равно видит как строку или я что-то не то делаю:)?

    Может, кто подскажет как быть, чтобы заработало условие 1.
     
  2. progman_rus

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

    С нами с:
    17 сен 2008
    Сообщения:
    44
    Симпатии:
    0
    Код (Text):
    1. $d1=(int)$k1 + 1;
    2. $d2=(int)$k2 + 1;
     
  3. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    У меня все работает.

    сделайте var_dump($d1) и var_dump($d2) перед условием. Да и остальные переменные не худо бы проверить.

    PS:
    Зачем 1 в кавычках? И Вы уверены что должно получиться число на 1 больше чем есть?
     
  4. olpak

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

    С нами с:
    7 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    не прокатило
     
  5. olpak

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

    С нами с:
    7 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    в кавычках - это так для разнообразия)))

    ну, не знаю, сделал через var_dump($d1) и var_dump($d2), тоже не катит, на = работает,
    изощряюсь пока :)
     
  6. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Вы не поняли.
    var_dump($d1) - выведет на экран значение переменной $d1 с указанием ее типа.
    Вот я и говорю проверьте все переменные - чему они равны перед условием?
     
  7. olpak

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

    С нами с:
    7 окт 2010
    Сообщения:
    15
    Симпатии:
    0

    Хорошо, уже проверяю...буду скоро
     
  8. olpak

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

    С нами с:
    7 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Вот, что выдал

    float(13.3) float(11)
     
  9. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Если float(13.3) это d1, а float(11) это d2, то значит $ds не равно $date или $drvn не равно $driver
     
  10. olpak

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

    С нами с:
    7 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    сделал, if($d2<$d1) заработало, получается в остальных двух переменных "фуфло".
    спасибо вам за подсказку.

    позже отпишусь...
     
  11. olpak

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

    С нами с:
    7 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    УРА, заработало!!!

    да, у меня переменные $ds и $drvn брались с мускуля, где я не подправил в запросе на измененную уже (новую)переменную, все изменил и вот - Эврика!!!

    Спасибо, вам Volt(220)

    Буду внимательнее, впредь.