اشكال در چند مفهوم و كد

a.gh.n

Member
سلام!
من در چند كد مشكل داشتم خواهش مي كنم هر كدوم كه تونستين رو كمكم كنيد. تو رو خدا!
اشكال اول:
آقا return دقيقا" چي كار ميكنه؟ در كد زير (برنامه فاكتوريل)
کد:
<?
function fact($num)
{
if ($num <= 1)
return 1;
return $num*fact($num - 1);
}
?>
قسمت return 1 و [LTR]return $num*fact($num-1)[/LTR] چي كار مي كنن؟
مقدار 1 و [LTR]$num*fact($num-1)[/LTR] در كجا ذخيره ميشن؟
اشكال دوم:
كار دقيق "." چيست؟
آيا مقدار "." با يك كلمه ي بيش از يك حرفي تطبيق مي كنه؟
اشكال سوم:
توي يه كد نوشته بود [LTR]$PHP_Self[/LTR] ولي اون رو از قبل تعريف نكرده بود. اين چيه؟
اشكال چهارم:
اين كد را نگاه كنيد:
کد:
<?
$default_dir = "./databaseweb";
if(!($dp = opendir($default_dir))) echo("cannot open $default_dir.");
while($file = readdir($dp))
if($file != '.' && $file != '..') echo "$file<br>";
closedir($dp);
?>
آيا در خط دوم نقطه حتما" لازمه؟ مگه نقطه چي كار ميكنه؟در خط پنجم نقطه چي كار ميكنه؟ يه بار

با يه كاراكتر و بار ديگه با دو تا كاراكتر تتطبيق مي ده؟ چرا وقتي شرط if رو پاك مي كنيم اول يه نقطه و

بعد دو تا نقطه نوشته ميشه؟
استنباط من اينه كه هر بار [LTR]while($file = readdir(felan))[/LTR] يا اصلا" $[LTR]file = readdir(felan)[/LTR] خونده ميشه يدونه از

اين چشمكزناي ورد يا نت پد هست كه نشون ميده كجاي متنيم، يه دونه ميره جلو. (اگه غلطه بگين)

ولي اين دوتا نقطه چيه نميدونم!
دستتون واقعا" درد نكنه حتي اگه وقت گذشتين مشكلاتم رو خوندين.
 

mahyar - r

Member
PHP:
<?
function fact($num)
{
if ($num <= 1)
return 1;
return $num*fact($num - 1);
}
?>
return مقداریه که یه تابع بر می گردونه ! مثلاَ اگر تو بنویسی :
PHP:
$xxx = fact($yyy);
مقدار متغییر $xxx برابر با مقدار return می شه !
PHP:
if ($num <= 1)
return 1;
return $num*fact($num - 1);
این قسمت واضحه دیگه می گه اگر $num کوچکتر یا مساوی 1 بود مفدار 1 رو برگردون در غیر اینصورت فاکتوریل اونو حساب کن
PHP:
$PHP_Self
مقدار این متغییر آدرس صفحه ایه که در اون قرار داره
اینم بگم که اون نقطه لازمه ( تو خط 2 )
 

parsjax

Banned
مقدار . بین دو تا رشته اونارو به هم میچسبونه مثلا 'a'.'b'='ab'
توی خط 5 اوم . و .. نشانه پوشه جاری و پوشه پدر هست که به عنوان نام فایل خونده میشه و اون کد باعث میشه اینارو به عنوان نام فایل در نظر نگیره با ترمینال لینوکس کار کرده باشی اینو متوجه میشی یا تو ویندوز مثلا اگه تو کامند پرامپت بنویسی cd .. برمیگردی به یه پوشه بالاتر مثلا c:\windwos میشه c:\ یعنی .. آدرس به معنی پوشه والد هستش امیدوارم متوجه شی
اون if کارش اینه که از بین لیست نام فایل ها . و .. رو حذف کنه پس اگه حذفش کنی دیگه نمیتونه جلوشونو بگیره و اونا نشون داده میشن
ببین این $ و . که میگی واسه Regular Expersion هاست که معنی یه کاراکتر یا .. رو میده و اینجا تنها کاراییشون اینه که . وقتی بین 2 تا رشته بیاد ( نه توی رشته ) اون 2 تا رشته رو به هم می چسبونه و $ هم اول هر کلمه بیاد اون کلمه به عنوان متغیر در نظر گرفته میشه مثلا echo "saeed" سعید رو چاپ میکنه و echo "$saeed" محتوای متغیر سعید رو چاپ میکنه
اینم یادت باشه که یه متغیر توی یه رشته هم کارش رو میکنه به شرط اینکه رشته توی "" باشه و اگه توی '' باشه به عنوان جزئی از رشته در نظر گرفته میشه نه متغیر



به عنوان مثال
$name = saeed
echo "$name"
این دستور مقدار سعید رو چاپ میکنه
echo '$name'
این دستور متن زیر رو چاپ میکنه
$name

اگه مشکلی داشتی واسم ایمیل بزن
parsajax [ at ] gmail [ dot ] com
 
آخرین ویرایش:

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

بالا