За последние 24 часа нас посетили 25812 программистов и 1726 роботов. Сейчас ищут 817 программистов ...

Проблема:Неправильно преобразования типа данных.

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

  1. Sundro

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

    С нами с:
    18 ноя 2010
    Сообщения:
    18
    Симпатии:
    0
    Имеется такой код

    $my_var = 1995;
    echo "Текущий тип переменной ". gettype ($my_var) . "<br>";
    $my_var = settype ( $my_var, "string" );
    echo "Новый тип переменной ". gettype ($my_var);

    Верезультате выполения этого кода "Новый тип переменной bolean " вместо ожидаемого string. Помогите разобраться пожалуйста.
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Как ты можешь ожидать string, ЕСЛИ settype ВСЕГДА возвращает bool? Повторяю, всегда!
    Она изменяет тип переменной ПО ССЫЛКЕ.

    PHP:
    1. <?php
    2.  
    3. $my_var = 1995;
    4. echo "Текущий тип переменной ". gettype ($my_var) . "<br>";
    5. /*$my_var = */settype ( $my_var, "string" );
    6. echo "Новый тип переменной ". gettype ($my_var);
     
  3. runner

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

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    settype возвращает результат выполнения функции: true или false
    так что нужно вот так
    PHP:
    1.  
    2. $result = settype ( $my_var, "string" );
    3. echo "Новый тип переменной ". gettype ($my_var);
    4.  
     
  4. Sundro

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

    С нами с:
    18 ноя 2010
    Сообщения:
    18
    Симпатии:
    0
    Спасибо за ответы! Я ток начал изучать пхп. Непонимание возникло из за этого предложения "
    Например, в приведенном ниже коде в качестве значения переменной устанавливается целое число, затем тип меняется на строковый, при этом каждый раз распечатывается
    тип данных. " Потому и ожидал string вместо bolean.