Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка на число.
 
 автор: CRazych   (07.12.2006 в 22:33)   письмо автору
 
 

Если ли функция в пхп для проверки на число или текст?
Допустим
if проверка на число($переменная для проверки)
{
действие
}

   
 
 автор: Прохожий ))   (07.12.2006 в 22:41)
 
   для: CRazych   (07.12.2006 в 22:33)
 

if(preg_match("|^[\d]+$|", $value) === TRUE)
{
/// это число..
}
else echo "Is are not integer";

   
 
 автор: DEM   (07.12.2006 в 22:42)   письмо автору
 
   для: CRazych   (07.12.2006 в 22:33)
 

Не совсем понял вопрос...


<?
if($num == 5)
{
echo 
"Число ПЯТЬ";
}
elseif(
$num == "Пять")
{
echo 
"Строка ПЯТЬ";
}
?>

   
 
 автор: moonfox   (07.12.2006 в 22:47)   письмо автору
 
   для: CRazych   (07.12.2006 в 22:33)
 



$t=gettype($var);

if ($t=='integer') {echo "переменная есть число "; }

   
 
 автор: isset   (07.12.2006 в 23:00)   письмо автору
 
   для: moonfox   (07.12.2006 в 22:47)
 

читаем мануал:

Never use gettype() to test for a certain type, since the returned string may be subject to change in a future version. In addition, it is slow too, as it involves string comparison.

Instead, use the is_* functions. 

   
 
 автор: moonfox   (07.12.2006 в 23:02)   письмо автору
 
   для: isset   (07.12.2006 в 23:00)
 

меню уличили в некомпетенции .. :)))))))))

но это проблема разработчиков...

   
 
 автор: Саня   (07.12.2006 в 22:47)   письмо автору
 
   для: CRazych   (07.12.2006 в 22:33)
 

is_numeric()

   
 
 автор: NIK   (08.12.2006 в 09:07)   письмо автору
 
   для: Саня   (07.12.2006 в 22:47)
 

объясните пожулйста, чему лучше отдавать предпочтение - is_numeric() или рег. выражениям?

   
 
 автор: cheops   (08.12.2006 в 13:00)   письмо автору
 
   для: NIK   (08.12.2006 в 09:07)
 

Лучше отдавать предпочтение is_numeric() - эта функция должна выполняться быстрее регулярных выражений.

   
 
 автор: moonfox   (07.12.2006 в 22:48)   письмо автору
 
   для: CRazych   (07.12.2006 в 22:33)
 

за минуту 4 поста и все разные:)))))))

   
 
 автор: DEM   (07.12.2006 в 22:51)   письмо автору
 
   для: moonfox   (07.12.2006 в 22:48)
 

Ну вопрос был некоректно поставлен..

   
 
 автор: moonfox   (07.12.2006 в 22:59)   письмо автору
 
   для: DEM   (07.12.2006 в 22:51)
 

самым правельным в случае проверки число / текст будет is_numeric() так как оно уже включает проверку всех типов int, float...

if (is_numeric($h)) echo "yes";

   
 
 автор: Саня   (07.12.2006 в 23:09)   письмо автору
 
   для: moonfox   (07.12.2006 в 22:59)
 

-

   
 
 автор: moonfox   (07.12.2006 в 23:28)   письмо автору
 
   для: Саня   (07.12.2006 в 23:09)
 

я имел что мой пример с if 'integer' - не рационален так как число может быть не целым.. и проверка вернет false
а:

bool is_numeric ( mixed var )


Finds whether the given variable is numeric. Numeric strings consist of optional sign, any number of digits, optional decimal part and optional exponential part. Thus +0123.45e6 is a valid numeric value. Hexadecimal notation (0xFF) is allowed too but only without sign, decimal and exponential part.

чего пост удалил?:)

   
 
 автор: CRazych   (08.12.2006 в 00:50)   письмо автору
 
   для: moonfox   (07.12.2006 в 23:28)
 

))) ладно объясню понятнее
мой скрипт должен извлекать из переменной $_GET['ID'] число
но так как ручками туда можно отправить не только число хачу сделать проверку на вшивость.

if (empty($_GET['id']))
    {
        $ID=1;
    }
else
    {
        //   является ли числом?
//тут собно и нужно проверку вставить
        $ID=strip_tags($_GET['id']);
    }






ещё кстате ламерский вапрос.
Как сделать запрос в бд и посщитать какой там самый высокий ID ( это колонка в базе днанных которая не повторяется) ужен либо совет либо пример.

   
 
 автор: moonfox   (08.12.2006 в 02:00)   письмо автору
 
   для: CRazych   (08.12.2006 в 00:50)
 

>))) ладно объясню понятнее

вроде понятно и ответили....


$id=$_GET['id'];

if (!empty($_GET['id']) && is_numeric($id)) 
    { 
    $ID=strip_tags($_GET['id']); 
    } 
else
    {  $ID=1; }



$r="select * from count" ;
$res=mysql_query($r);
while($a = mysql_fetch_array($res)){ $k=array ($a['id']);}
echo max($k);

   
 
 автор: Саня   (08.12.2006 в 02:23)   письмо автору
 
   для: moonfox   (08.12.2006 в 02:00)
 

Мдаааа. Ну кто же делает такие вещи средствами php?
<?
$query 
mysql_query("SELECT MAX(имя-колонки) AS max_val FROM table;");
$array mysql_fetch_assoc($query);
print 
$array['max_val'];

   
 
 автор: moonfox   (08.12.2006 в 02:53)   письмо автору
 
   для: Саня   (08.12.2006 в 02:23)
 

класс даже не знал что скл такой продвинутый:))))))))))))))))))))))))))))))

в чем принципиальная разница при одинаковых результатах получения результата?

   
 
 автор: Саня   (08.12.2006 в 13:13)   письмо автору
 
   для: moonfox   (08.12.2006 в 02:53)
 

Разница в скорости.

   
 
 автор: moonfox   (08.12.2006 в 14:38)   письмо автору
 
   для: Саня   (08.12.2006 в 13:13)
 

так и есть:))))))))

   
 
 автор: CRazych   (08.12.2006 в 22:18)   письмо автору
 
   для: moonfox   (08.12.2006 в 14:38)
 

я в sql запросах пока плохо разбираюсь.

имелось вивиду так?
$sql = "SELECT MAX(ID) AS max_val FROM table;"
$sql = "SELECT MAX `ID` AS max_val FROM table;"
$sql = "SELECT * FROM catalog `ID` AS max_val FROM table;"

можно по точнее?

   
 
 автор: moonfox   (08.12.2006 в 22:42)   письмо автору
 
   для: CRazych   (08.12.2006 в 22:18)
 

$query = mysql_query("SELECT MAX(id) AS max_val FROM count;");
$array = mysql_fetch_assoc($query);
print $array['max_val'];

   
 
 автор: CRazych   (09.12.2006 в 01:40)   письмо автору
 
   для: moonfox   (08.12.2006 в 22:42)
 

а таблицу выбрать?

   
 
 автор: moonfox   (09.12.2006 в 02:33)   письмо автору
 
   для: CRazych   (09.12.2006 в 01:40)
 

> а таблицу выбрать?

ты очем, как мне кажется пример очень наглядный...


<?
// переменные окружения
$host "localhost"// хост
$login "root"// логин
$password "1224"// пароль
$db="test"// имя базы
$table="count"// имя таблицы

// подключаемся к севрверу mysql
mysql_connect($host$login$password) or die ("cant connect...");

// выбераем БД
mysql_select_db($db); 

// отправляем сформированный запрос в БД
$query mysql_query("SELECT MAX(id) AS max_val FROM $table;"); 

// создаем ассоциативный массив
$array mysql_fetch_assoc($query); 

// выводи результат запроса
print $array['max_val']; 
?>


скачай хелп с php.net
зайди на www.mysql.com
купи книгу php

   
 
 автор: Unkind   (09.12.2006 в 11:23)   письмо автору
 
   для: moonfox   (08.12.2006 в 02:00)
 

if (!empty($_GET['id']) && is_numeric($id))
{
$ID=strip_tags($_GET['id']);
}
В числе не может быть никаких тегов, так что strip_tags() абсолютно бесмысленно тут поставлено...

   
 
 автор: moonfox   (09.12.2006 в 14:42)   письмо автору
 
   для: Unkind   (09.12.2006 в 11:23)
 

это не я это он...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования