سوالی در مورد isset

mehdi_php

Member
سلام من نحوه کار isset() , تفاوت اون با unset() و empty() رو نمی فهمم اگر ممکنه با یک مثال برای من توضیح بدین ممنون میشم .
 

RainDigital

Member
isset برای چک کردن اینه که یه متغیر ست شده باشه یا نه مثل
PHP:
if(isset($_GET['id'])){

print $_GET['id'];

}else{

print "id not sent"

}
 

mehdi_php

Member
میشه یه کم بیشتر توضیح بدین ؟ یا یک نمونه استفاده در فرم ها رو به من بگین ؟
 

RainDigital

Member
فرض کنید فرم شما با متد POST ارسال میشه. و شما میخواید فیلدی که اسمش name هست حتما پرشده باشه پس توی صفحه ای که اطلاعات رو دریافت میکنه، این کد رو میتونید استفاده کنید:
PHP:
if(isset($_POST['name'])){
//continue;
}else{
//the field "name" is empty

print "شما حتما باید نام خود را وارد کنید";

}
s
 

jhoseini

Member
تغریباً هیچ فرقی نداره
http://ir.php.net/manual/en/function.isset.php
http://ir.php.net/manual/en/function.unset.php
http://ir.php.net/manual/en/function.empty.php

PHP:
$test = '';
echo "<br>isset:".intval(isset($test ));
echo "<br>empty:".intval(empty($test ));
فرقشون به اینه که isset چک میکنه که متغیر تعریف شده یا نه
اما empty پک میکنه که متغیر بعد از تعریف شدنش مقداری داره یا نه
unset هم که متغیر رو حذف میکنه و برمیگردونه به حافظه آزاد
 

peyman1987

Member
البته فکر میکنم فرق دو تا کدی که دوستمون گذاشتن این باشه که اگه با isset ست شدن یه متغیر رو چک کنین حتی اگر متغیر مقدار صفر هم داشته باشه مقدار true برمیگردونه ولی اگه فقط خود متغیر رو بصورت id$ بنویسین اگر متغیر مقدار صفر داشته باشه false برمیگرده. مثال :

PHP:
	$test = 0;
	IF(ISSET($test))
		PRINT("SET");
	
	IF($test)
		PRINT("Not Zero");

خروجی کد بالا میشه set
 

جدیدترین ارسال ها

بالا