PDA

View Full Version : معادل این دستور if request.form<>"" then و Request.QueryString<>"" در phpچی هست؟



xman_dj
چهارشنبه 01 مهر 1388, 13:19 عصر
با سلام و خسته نباشید
میشه بگین
معادل این دستور if request.form<>"" then و if Request.QueryString<>"" then در phpچی هست؟:لبخند:
ممنون از دوستان

xman_dj
پنج شنبه 02 مهر 1388, 00:10 صبح
اگر می خوای پارامتر ها رو چک کنی از isset استفاده کن !
ممنون از راهنمایی شما
اینم چند لینک که اگه شاید سوال چند نفر دیگه هم باشه بتونن پیدا کنن
isset :
http://ir2.php.net/manual/en/function.isset.php
unset :
http://ir2.php.net/manual/en/function.unset.php
empty:
http://ir2.php.net/manual/en/function.empty.php
بینید، is_set چک میکنه که آیا یه متغیر تنظیم شده یا نه. مثلا توی مثال زیر که توی manual پی اچ پی هست:


کد:
$var = '';

// This will evaluate to TRUE so the text will be printed.
if (isset($var)) {
echo "This var is set so I will print.";
}



چون بار اول متغیر ست شده، بنابراین نتیجه ()isset صحیح بر گردونده میشه و رشته چاپ میشه (حتی با اینه به یه رشته خالی اونو انتساب دادید) و اگر بخواهید یه متغیر رو از حالت انتساب بیرون بیارید میتونید اون رو برابر با NULL بذارید یا از unset() استفاده کنید. مثل کد زیر:


کد:


$foo = NULL;
var_dump(isset($foo)); // FALSE



که خروجی false هست.
برای unset کردن یه متغیر میتونید اینجوری اونو استفاده کنید :


کد:
$a = "test";
unset ($a);


empty() هم چک میکنه که یه متغیر خالی هست یا نه، البته یه مقدار با isset() فرق داره. فرقشون توی این هست که اگر یه متغیر با مقدارهای "",0,"0" ست شده باشه، نتیجه empty() صحیح برگردونده میشه که توی isset() این نتیجه صحیح برگردونده میشه که یعنی متغیر ست , تنظیم شده. مثل کد زیر :



کد:
<?php
$var = 0;

// Evaluates to true because $var is empty
if (empty($var)) {
echo '$var is either 0, empty, or not set at all';
}

// Evaluates as true because $var is set
if (isset($var)) {
echo '$var is set even though it is empty';
}
?>


یا مثال زیر رو ببینید:


کد:
<?php
$test='';
echo var_dump(isset($test));//true
echo var_dump(empty($test));//true
unset($test);

echo var_dump(isset($test));//false
echo var_dump(empty($test));//true
?>



با اینکه متغیر با یه رشته خالی ست شده، نتیجه isset() صحیح و نتیجه empty () هم صحیح هست.
وقتی متغیر رو از انتساب خارج میکنید دیگه جواب isset() صحیح نیست اما جواب empty () همچنان true هست.
اینم نوشته
ysii_sh
http://www.iranphp.net/forum/showthread.php?t=1498&page=1
موفق باشید