PDA

View Full Version : سوال: تشخیص مثبت یا منفی بودن عدد



hassanzanjani1374
پنج شنبه 15 تیر 1391, 14:40 عصر
سلام . چجوری میشه با پی اچ پی مثبت یا منفی بودن یک عدد رو تشخیص داد ؟

blackmak
پنج شنبه 15 تیر 1391, 14:57 عصر
if($number > 0 )
{
echo '+';
}
elseif($number < 0 )
{
echo '-';
}
else
{
echo '0';
}

MMSHFE
پنج شنبه 15 تیر 1391, 15:04 عصر
خوب اگه از صفر کوچکتر باشه منفیه دیگه!

hassanzanjani1374
پنج شنبه 15 تیر 1391, 15:05 عصر
این راه حل سادش هست . تابع خاصی نداره خود پی اچ پی ؟

blackmak
پنج شنبه 15 تیر 1391, 15:17 عصر
چرا هست ولی باید extention نصب باشه.
Requirements (http://www.php.net/manual/en/gmp.requirements.php)
Installation (http://www.php.net/manual/en/gmp.installation.php)


echo gmp_sign("-200");
echo gmp_sign("0");
echo gmp_sign("200");

blackmak
پنج شنبه 15 تیر 1391, 15:32 عصر
این dll دانلود کن : php_gmp.dll (http://dllcity.com/download-free-dll-file-php_gmp.html)
و در مسیری که وب سرورت نصب هست کپی کن . مثلا:
X:\xampp\php\ext
حالا از این مسیر php.ini باز کن:
X:\xampp\php\php.ini
و اینو پیدا کن :
;extension=php_gmp.dll
و ";" اولشو بردار و وب سرورتو restart کن یعنی اینطوری:
extension=php_gmp.dll
حالا باید بتونی از توابع GMP استفاده کنی.

MMSHFE
پنج شنبه 15 تیر 1391, 16:02 عصر
خوب چه کاریه؟ وقتی میشه با شرط (if($number < 0 بررسی کرد، چرا تابع بکار ببریم که سرعت رو هم میاره پایین؟ مثلاً بجاش حتماً باید بگیم ((if(is_negative($number ؟ حالا اگه تشخیص منفی بودن نیاز به چند خط دستور داشت، نوشتن تابع برای اینکار رو میشد توجیه کرد ولی اینکه کار پیچیده ای نیست. ضمناً شرط اول (بدون تابع) سریعتر از دومی (با تابع) انجام میشه چون دومی هم درهرحال داره مقایسه رو انجام میده ولی یک سربار اضافه (فراخوانی تابع) هم داره. موفق باشید.

blackmak
پنج شنبه 15 تیر 1391, 16:24 عصر
خوب چه کاریه؟ وقتی میشه با شرط (if($number < 0 بررسی کرد، چرا تابع بکار ببریم که سرعت رو هم میاره پایین؟ مثلاً بجاش حتماً باید بگیم ((if(is_negative($number ؟ حالا اگه تشخیص منفی بودن نیاز به چند خط دستور داشت، نوشتن تابع برای اینکار رو میشد توجیه کرد ولی اینکه کار پیچیده ای نیست. ضمناً شرط اول (بدون تابع) سریعتر از دومی (با تابع) انجام میشه چون دومی هم درهرحال داره مقایسه رو انجام میده ولی یک سربار اضافه (فراخوانی تابع) هم داره. موفق باشید.
ما که با شما موافقیم ولی اسرار داشتن با تابع دیگه چه کنیم :چشمک:

maktoom
پنج شنبه 15 تیر 1391, 22:39 عصر
سلام
جدا برام سوال شد. چرا یه همچین چیزی رو واسش تابع گذاشتن؟ دلیل خاصی داره؟ کاربرد خاصی داره؟

blackmak
پنج شنبه 15 تیر 1391, 23:02 عصر
نه php خودش نداره اینو برصورت پیش فرض فقط یه کتابخونس GMP که php ساپورت میکنه. البته این یه تابع هستش GMP کلی توابع برای محاسبات داره. کلا یه کتابخونه ریاضی هست دیگه. GMP (http://www.php.net/manual/en/book.gmp.php)