PDA

View Full Version : سوال: تشخیص محتوای متغیر؟



fatahyegane
شنبه 27 آذر 1389, 01:18 صبح
سلام من یک مقداری رو از کاربر دریافت میکنم ودر متغیری از نوع کاراکتری قرار میدم حالا میخوام اگر محتوای متغیر صرفا عددیه نوع اون متغیر رو به صحیح تبدیل کنم به نظر شما چطور تشخیص بدم که محتوای متغییر عددیه یا کرکتری؟ ممنون.

morteza_naderloo
شنبه 27 آذر 1389, 01:29 صبح
فکر کنم سوالت رو دورست متوجه نشدم ام چیزیکه فهمیدم اینه می خواهی ببینی متغیرت از چه نوعی هست درسته ؟



$type_int=is_int($string);



اگه اینکد رو توی یک شرط بزاری میتونیمشخص کنی که اگه متغییر بود این کار کن نبود هم یک کار دیگه .

ببخشید زیادی فارسی بودآخه خودمانجوری دوست دارم .

fatahyegane
یک شنبه 28 آذر 1389, 00:06 صبح
بزارید مشکلم رو دقیقا بگم که بهتر متوجه بشید
من یک مقداری رو در یک فیلد از نوع varchar در جدول ذخیره میکنم که ممکنه این مقدار کاراکترهای A-Z ویااعداد 0-9 باشه . من این فیلد رو از جدول بیرون میکشم و با یک فیلد دیگر که ساختارش همینطوره مقایسه میکنم(<و>و>=و...) اما همونطوری که میدونید در مقایسه دو رشته فقط کارکترهای اول دو رشته مقایسه میشن مگر اینکه کارکتر های اول با هم برابر باشند وگرنه به مقایسه خاتمه میده .
ولی مشکل اینجا پیش میاد که محتوای این متغیرها(فیلدها) عدد باشند و من میخام در اون حالت مثل دو متغیر نوع int با هم مقایسه بشند در غیر این صورت نتیجه مقایسه زیر false میشود.


$string1='9';
$string2='100';
if($string2>$string1){}

حالا دوستان با این توصیفات من چطور متوجه بشم که محتوای یک متغیر از نوع کارکتری عدد هست یا حروف . که اگر عدد بود نوع اون رو با settype به int تبدیل کنم.
ها؟؟؟

eshpilen
یک شنبه 28 آذر 1389, 00:19 صبح
خب با تابع is_int() (file:///D:/php_manual/function.is-int.html) چک کنید دیگه.

fatahyegane
یک شنبه 28 آذر 1389, 01:25 صبح
خب با تابع is_int() (file:///D:/php_manual/function.is-int.html) چک کنید دیگه.


دوست عزیز نمیشه این تابع فقط نوع رو بررسی میکنه من دارم از بررسی محتوا و مقدار متغیر صحبت میکنم خروجی این کد میشه string نه int


<?php
$s='123';
if (is_int($s)){
echo "int";
}else{
echo "string";
}
?>