loading...
طراحی وب سایت

hadi بازدید : 1 دوشنبه 25 شهریور 1392 نظرات (0)

آموزش php - آرايه ها

آرايه ها انواع خاصي از متغيرها به حساب مي آيند که مي توانند چندين داده را در قالب يک نام ذخيره کنند. براي مثال فرض کنيد قرار است اسامي 5 دانشجو را موقتا ذخيره کنيد ، در اين حالت در صورتيکه نخواهيم از آرايه استفاده کنيم مجبوريم براي هر دانشجو يک متغير جديد در نظر بگيريم و نام دانشجو را در آن ذخيره نماييم. 

$std1 = "ali";

$std2 = "hamid";

$std3 = "moeen";

$std4 = "amin";

$std5 = "mina";

اين کار بسيار خسته کننده ، سخت و طاقت فرساست ، بخصوص زمانيکه تعداد داده هاي موجود زياد و مثلا نياز به جستجو بين اين اسامي باشد سختي کار بيشتر و بيشتر نمايان مي شود.

در مواردي که ليستي از عناصر را در اختيار داريد و مي خواهيد آنها را در حافظه ذخيره کنيد آرايه بهترين راه حل ممکن است که ميتواند به شما کمک کند. يک آرايه مي تواند يکسري مقادير را تحت يک نام واحد ذخيره نمايد و هر زمان که به هر کدام از مقادير نياز داشتيد به کمک يک انديس و نام آرايه به آن مقدار دسترسي داشته باشيد.

در زبان php روش هاي مختلفي براي ايجاد آرايه وجود دارد. ساده ترين روش براي ساخت ليست اسامي دانشجويان مثال قبل به صورت زير است:

$stdNames = array("ali", "hamid", "moeen", "amin", "mina");

روش ديگر ايجاد يکي يکي عناصر اين آرايه است

 

$stdNames[] = "ali";

$stdNames[] = "hamid";

$stdNames[] = "moeen";

$stdNames[] = "amin";

$stdNames[] = "mina";

اين روش نيز مانند روش قبلي است با اين تفاوت که شماره انديس عناصر طراحی وب سایت  آرايه را ذکر نکرديم و php خود براي اين عناصر شماره هاي 0 الي 4 را در نظر خواهد گرفت. اين عمل را در آينده auto-incremented keys مي ناميم. اينکه از کدام روش براي ايجاد آرايه استفاده نماييد هيچ تاثيري در نتيجه کار نخواهد داشت.

 

براي نمايش مقدار يک عنصر از آرايه کافي است که نام آرايه و بعد شماره انديس آرايه را داخل کروشه ذکر کنيم:

 

echo $stdNames[1];

در مثال قبل php نام hamid را در مرورگر نمايش خواهد داد. مي توانيد از يک حلقه براي نمايش همه عناصر آرايه استفاده نماييد.

 

for($i=0;$i<=4;$i++)

   echo $stdNames[$i];

روش قبل روش خوبي براي نمايش همه عناصر يک آرايه است ولي بهترين روش نيست چراکه تعداد عناصر آرايه hard-code شده است. روش بهتر استفاده از حلقه هاي foreach به شکل زير است:

 

foreach($stdNames as $name){

   echo $name;

}

در صورتيکه براي اشغال زدايي نياز داريد همه عناصر آرايه را نمايش دهيد مي توانيد از دو توابع داخلي php به نام هاي print_r و var_dump استفاده نماييد:

 

$print_r($stdNames);

echo "<br />";

$var_dump($stdNames);

 

 

آرايه هاي انجمني (Associative arrays)

اگر بخواهيم به زبان ساده تعريفي از مکانيزم آرايه ها در php داشته باشيم بايد از نگاشت ياد کنيم. به عبارت ديگر آرايه php يک نگاشت از کليد (key) به مقدار (value)  است. در مثال اسامي دانشجويان کليد 0 نگاشتي از مقدار "ali" و کليد 1 نگاشتي از مقدار "hamid" است. php به ما اجازه مي دهد که کليدهاي با معني تري داشته باشيم. associative array به اين معني است که php به شما اجازه مي دهد براي مقادير آرايه کليدهاي دلخواه در نظر بگيريد. گاهي اوقات به آرايه هاي associative ديکشنري نيز گفته مي شود. ليست اسامي دانشجويان به صورت آرايه associative به شکل زير تعريف مي شود:

 

$stdNames = array(

     "84212234" => "ali",

     "86287638" => "hamid",

     "83862837" => "moeen",

     "79829273" => "amin",

     "89736286" => "mina"

);

در مثال بالا شماره دانشجويي را به عنوان کليد در نظر گرفتيم. اين نکته را حتما به خاطر بسپاريد که کليدها case-sensitive ولي type-insensitive هستند.

 

case-sensitive: يعني بين حروف کوچک و بزرگ بايد تفاوت قائل شويم براي مثال Air با aiR تفاوت خواهند داشت.

type-insensitive: به اين معناست که نوع داده اي کليد براي ما تفاوتي ندارد مثلا 1 که از نوع int است با '1' که از نوع رشته اي است با هم تفاوتي نخواهند داشت.

 

آرايه هاي associative در زبان php به صورت زير نيز قابل تعريف اند:

 

$stdNames["84212234"] = "ali";

$stdNames["86287638"] = "hamid";

$stdNames["83862837"] = "moeen";

$stdNames["79829273"] = "amin";

$stdNames["89736286"] = "mina";

براي نمايش و استفاده از مقادير اين نوع آرايه ها نيز مي توانيد مثل قبل عمل کنيد با اين تفاوت که بايد از کليدهاي جديد براي دسترسي به عناصر آرايه استفاده نماييد.

 

$echo 'Name ------- Student No'.'<br />';

$echo stdNames["84212234"].'-84212234';

 

 

آرايه هاي چند بعدي (Multidimensional)

هريک از عناصر آرايه در php مي توانند از هر نوعي باشند پس مي توانيم آرايه را نيز به عنوان عضو عناصر در نظر بگيريم. بنابراين به زبان ساده تر مي توانيم يک آرايه داخل آرايه ديگر تعريف کنيم و داخل آن نيزطراحی وب سایت  يک آرايه ديگر و داخل آن نيز و به همين ترتيب. تعريف آرايه چندبعدي در زبان php به سادگي آرايه هاي معمولي است. در مثال زير سعي مي کنيم ليست داشنجويان را بر اساس رشته تحصيلي در داخل آرايه چندبعدي ذخيره نماييم:

 

$students["Physics"] = array(

     "84212234" => "ali",

     "86287638" => "hamid",

     "83862837" => "moeen",

     "79829273" => "amin",

     "89736286" => "mina"

);

 

$students["Computer"] = array (

     "84534243" => "samira",

     "85432255" => "payam",

     "82355234" => "hossain",

     "88553289" => "mehrdad",

     "83826264" => "fatemeh"     

);

براي دسترسي به عناصر آرايه چندبعدي php کافي است به شکل زير عمل نماييم:

echo $students["Computer"]["88553289"];

در مثال بالا مفسر php نام  mehrdad را در مرورگر به نمايش خواهد گذاشت.

براي کاربا آرايه ها و دستکاري آنها php توابع زيادي مانند sizeof ، unset ، asort و ... در اختيار برنامه نويس قرار مي دهد. مطالعه و تحقيق در مورد کاربرد اين توابع را بر عهده خوانندگان معترم قرار مي دهيم. در صورت آشنايي با اين توابع مي توانيد کاربرد و مثال هاي بيشتر را در بخش نظرات اين مطلب اضافه نماييد.

ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 14
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 9
  • آی پی دیروز : 1
  • بازدید امروز : 6
  • باردید دیروز : 0
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 6
  • بازدید ماه : 8
  • بازدید سال : 10
  • بازدید کلی : 222