View Full Version : متغیر تابع
olampiad
یک شنبه 31 فروردین 1393, 21:48 عصر
سلام
چه طور میشه یه متغیر ی که داخل تابعی تعریف کردیم رو بیرون از تابع هم استفاده کرد.
یا اصلا این کار غیر ممکن است.
ممنون
Golsha
یک شنبه 31 فروردین 1393, 22:31 عصر
سلام ، میشه ، اول باید متغیر رو به صورت سراسری تعریف کنی وبعد تو تابع ازش استفاده کنی مثلا :
$myvar = 1;
function name(){
$this->myvar += 4;
}
echo $this->myvar; // return 5
البته این واسه کلاسه ، اگه تو بدنه برنامه خواستی استفاده کنی $this رو ور دار و فقط از $myvar += 4 استفاده کن
abolfazl-z
یک شنبه 31 فروردین 1393, 23:51 عصر
سلام ، میشه ، اول باید متغیر رو به صورت سراسری تعریف کنی وبعد تو تابع ازش استفاده کنی مثلا :
$myvar = 1;
function name(){
$this->myvar += 4;
}
echo $this->myvar; // return 5
البته این واسه کلاسه ، اگه تو بدنه برنامه خواستی استفاده کنی $this رو ور دار و فقط از $myvar += 4 استفاده کن
فکر کنم دوستمان یک مبحث را از قلم انداختن.
$v = 1;
function test()
{
global $v;
$v = 2;
}
echo $v;
در واقع یک مطلبی هست به نام scope
ما چهار نوع حوزه در PHP داریم :
1. حوزه متغیر های محلی : متغیر هایی که در داخل تابع تعریف می شوند.
2. حوزه متغیر های عمومی : همان متغیر هایی که در بیرون از تابع و در بدنه اصلی برنامه تعریف می شوند.
3. حوزه متغیر های عمومی که در داخل تابع با واژه global تعریف می شوند.
4. حوزه متغیر های فرا عمومی : مانند $_GET یا $_POST و ...
هر کدام از این حوزه ها دارای یک life time (طول عمر) هستند که بیانگر مدت زمانی هست که در حافظه مستقر هستند.
طول عمر متغیر های شماره 2 3 4 با اتمام صفحه از بین می روند.
طول عمر متغیر شماره 1 با اتمام تابع از بین می روند.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.