[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как закинуть в переменную число???
assasin94r
Как передать значение с пременной в перемнную, чтобь значение осталось числом???
Например:

<?
$a=6;
$b=$a;
if(is_int($b))
{
echo "Число";
}
{

echo "Не число";
}
?>

Виведет:
Не число



Спустя 1 минута, 24 секунды (10.11.2010 - 23:12) assasin94r написал(а):
Заранее спасибо

Спустя 2 минуты, 37 секунд (10.11.2010 - 23:14) Sanchopansa написал(а):
а ты забыл про else!!! вот и пишет.. походу он пишет сразу два ответа!

Спустя 1 минута, 8 секунд (10.11.2010 - 23:15) Sanchopansa написал(а):
вот тонкий намек.. найди 10 отличий :)
<?php
$a=6;
$b=$a;
if(is_int($b))
{
echo "Число";
}else{
echo "Не число";
}
?>

Спустя 5 минут, 59 секунд (10.11.2010 - 23:21) assasin94r написал(а):
сорри пропустил
Я всегда пишу else...
не работает

Спустя 7 минут, 38 секунд (10.11.2010 - 23:29) sergeiss написал(а):
Цитата (assasin94r @ 11.11.2010 - 00:21)
не работает

А чего пишет?

Спустя 49 секунд (10.11.2010 - 23:30) assasin94r написал(а):
Не число

Спустя 7 минут, 58 секунд (10.11.2010 - 23:38) sergeiss написал(а):
Еще раз выложи сюда свой код. Полностью, без сокращений!!!

Спустя 45 секунд (10.11.2010 - 23:39) Lenarfate написал(а):
чтобы проверить, является ли переменная числом или числовой строкой, вы обязаны использовать is_numeric().

Спустя 2 минуты, 15 секунд (10.11.2010 - 23:41) assasin94r написал(а):
о...
большое спасибо всем, работает
cool.gif

Спустя 10 минут, 32 секунды (10.11.2010 - 23:51) sergeiss написал(а):
Цитата (Lenarfate @ 11.11.2010 - 00:39)
вы обязаны использовать is_numeric()

Не обязаны smile.gif Всё зависит от того, что хотим получить.
is_int - это проверка на то, что переменная - целое число или что-то другое (не важно, что)
is_numeric - проверяет, что переменная - целое или вещественное число или что-то другое.

Спустя 6 минут, 56 секунд (10.11.2010 - 23:58) kovaldm написал(а):
В данном случае переменная не целое число?

Спустя 5 секунд (10.11.2010 - 23:58) Lenarfate написал(а):
sergeiss
это примечание из мануала к функции is_int()

Спустя 11 минут, 28 секунд (11.11.2010 - 00:10) sergeiss написал(а):
Цитата (Lenarfate @ 11.11.2010 - 00:58)
это примечание из мануала к функции is_int()

Что именно??? Ты перевел неправильно, значит, если утверждаешь, что ОБЯЗАНЫ использовать is_numeric.
А сказано там следующее:

Цитата
is_int — Find whether the type of a variable is integer
....
Note: To test if a variable is a number or a numeric string (such as form input, which is always a string), you must use is_numeric().


Цитата
is_int - определить, является ли тип переменной ЦЕЛЫМ
...
Примечание: для проверки, является ли переменная числом или числовой строкой (например, input из form всегда является строкой), вы должны использовать is_numeric


Вот я и обратил особое внимание на то, что "обязаны использовать" относится к определенному случаю. У тебя же прозвучало более сурово, мол, всегда обязаны. А у ТС не совсем очевидная (для меня) задача, поэтому там могут быть и is_int и is_numeric, в зависимости от того, что требуется получить в результате. О чем я и написал.

Спустя 59 минут, 46 секунд (11.11.2010 - 01:10) Lenarfate написал(а):
я ничего не переводил, просто открыл php.su

Спустя 8 часов, 42 минуты, 1 секунда (11.11.2010 - 09:52) ShamanV написал(а):
Странно, у меня is_int($b) === true blink.gif

Спустя 1 час, 12 минут, 24 секунды (11.11.2010 - 11:04) assasin94r написал(а):
дело в том что при передачи с переменной в переменную значение помещается в кавички (')
если число в кавичках то функция is_int считает, что переменная строковая, а функция is_numeric работает немного подругому, даже если число в кавичках оно считается числом..

Спустя 39 минут, 1 секунда (11.11.2010 - 11:43) kovaldm написал(а):
У меня этот код выполняется - пишет что $b - число.

Спустя 9 минут, 1 секунда (11.11.2010 - 11:52) assasin94r написал(а):
Попробуй это:

<?
$a='6';
if(is_int($a))
{echo "integer";}
else{echo "string";}
?>

должно вивести string

<?
$a='6';
if(is_numeric($a))
{echo "integer";}
else{echo "string";}
?>

должно вивести integer

Спустя 40 минут, 51 секунда (11.11.2010 - 12:33) ShamanV написал(а):
Цитата (assasin94r @ 11.11.2010 - 08:04)
дело в том что при передачи с переменной в переменную значение помещается в кавички (')

Ты это сам придумал? С какого перепугу она в кавычки помещается?
Повторюсь, запускал у себя этот пример. $b - целочисленная переменная, что и подтверждает is_int(). Как могло получиться обратное - ума не приложу.

Спустя 8 минут, 2 секунды (11.11.2010 - 12:41) linker написал(а):
sergeiss
Просто ответь '2.6' - это число? Да, число, но вот только is_integer() на нем отдаст false. Именно когда хотят проверить на число, нужно использовать is_numeric(), либо уточнять в воспрое - целое число или дробное число.

Спустя 58 минут, 12 секунд (11.11.2010 - 13:39) assasin94r написал(а):
php1.php
<?
echo "<a href='php2.php?id=3'>3 (is_numeric)</a><br>";
echo "<a href='php3.php?id=3'>3 (is_int)</a>";
?>

php2.php
<?
if(isset($_GET['id']))$id=$_GET['id'];
if(is_numeric($id)){echo "integer";}else{echo"string";}
?>

php3.php
<?
if(isset($_GET['id']))$id=$_GET['id'];
if(is_int($id)){echo "integer";}else{echo"string";}
?>

Спустя 2 минуты, 33 секунды (11.11.2010 - 13:42) assasin94r написал(а):
сначала немножко неверный пример бил))))

Спустя 12 минут, 37 секунд (11.11.2010 - 13:54) sergeiss написал(а):
linker - речь была о том, что было высказано утверждение об ОБЯЗАТЕЛЬНОСТИ использования is_numeric вместо is_int (по крайней мере, именно так прозвучало). Я это оспорил, утверждая то, что всё зависит от поставленной цели.

Спустя 42 минуты, 15 секунд (11.11.2010 - 14:37) ShamanV написал(а):
assasin94r
Ну так это совсем другой случай. Здесь значение берется из $_GET, где значения переменных содержатся в виде строк. В url ведь строка 'php3.php?id=3', откуда интерпретатору знать, имелось ввиду 3 или '3'? Можно воспользоваться (int) или intval() для явного преобразования типа. Что собственно и делают при обращении к БД.


Спустя 1 час, 59 минут, 28 секунд (11.11.2010 - 16:36) linker написал(а):
sergeiss
Это утверждение было высказано только из слов автора об определении "число" или "не число". В свете данных слов ТС, утверждение об is_numeric() является верным. Ладно, это я так, философствую smile.gif

Спустя 6 часов, 22 минуты, 1 секунда (11.11.2010 - 22:58) ancient mariner написал(а):
Для проверки на то, является ли значение переменной числом, точно не стоит использовать intval - он вернёт true, если первый символ является числом smile.gif

is_int - я попробовал, вроде бы определяет правильно.

Спустя 14 часов, 19 минут, 34 секунды (12.11.2010 - 13:18) ShamanV написал(а):
Цитата (ancient mariner @ 11.11.2010 - 19:58)
Для проверки на то, является ли значение переменной числом, точно не стоит использовать intval - он вернёт true, если первый символ является числом smile.gif

is_int - я попробовал, вроде бы определяет правильно.

Не для проверки, а для приведения переменной, содержащей строку с числом к типу int. Главный вопрос был, если я не ошибаюсь, "как поместить в переменную число, а не строку?". Вот так и поместить.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.