آرایه (Array) در برنامه نویسی php

 آرایه (Array) چیست؟

آرایه در برنامه نویسی به متغیری گفته می شود که درون خود، می تواند چند متغیر مختلف و با مقادیر متفاوت داشته باشد، همانطور که می دانیم، متغیرها در حالت معمول تنها می توانند یک مقدار مشخص داشته باشند، اما اگر به فرض بخواهیم اطلاعات سنی کارکنان یک شرکت را برای یک پژوهش آماری مورد بررسی قرار دهیم، به شیوه سنتی ناچاریم برای هر نفر یک متغیر بنویسیم و یک مقدار متفاوت نسبت دهیم و در هنگام فراخوانی، مجددا این روند را تکرار کنیم، اما با آرایه این کار بسیار آسان تر می شود، با نوشتن متغیر ها و مقادیر در یک آرایه برای یک بار، می توانیم هر موقع که نیاز بود، در بین کلید ها و مقادیر به دنبال موارد مورد نظر خود باشیم و نتایج را از بین متغیرهای مختلف استخراج کنیم، از این گذشته به طور مثال گاهی نیاز داریم که کاربران سایتمان از بین یک فیلد انتخاب شونده یا select باکس، چند مقدار متفاوت را همزمان انتخاب کنند (شاید نمونه آن را در وب دیده باشید که با نگه داشتن کلید Ctrl این کار انجام می شود)، اگر این مقادیر از فرم html به برنامه php ارسال شوند، تنها از طریق آرایه است که می توانیم آنها را تجزیه کرده و مدیریت کنیم.

شیوه های مختلف تعریف آرایه در php

آرایه را در php همانند دیگر زبان های مرتبط با وب مانند جاوا اسکریپت، می توان به چند صورت تعریف کرد و در کل سه شیوه برای این کار وجود دارد: - تعریف آرایه ها به صورت کلیدهای عددی و مقدار (Numeric). در این شیوه هر یک از متغیرهای درونی آرایه با یک کلید عددی  (با استفاده از علامت []) و مقدار، تنظیم می شوند، به طور مثال:
<?php
$page[0] = "Home";
$page[1] = "Learn";
$page[2] = "Buy";
$page[3] = "About";
?>
حال می توانیم با دستور زیر از آرایه بالا خروجی بگیریم، کافی است متغیرها را با کلیدهای خاص آن فراخوانی کنیم:
<?php
echo $page[2];
?>
خروجی کد بالا به صورت زیر خواهد بود:
Buy
همان طور که ملاحظه می کنید، ما از بین متغیرهای مختلف آرایه فرضی page، مقادیر کلید سوم (که با عدد ۲ مشخص شده است) را به خروجی ارسال کرده ایم که در مثال بالا، برابر عبارت "Buy" است. توجه کنید که شمارش در آرایه ها همیشه از صفر شروع می شود نه از یک، اینگونه اشتباهات گاهی باعث می شوند به فرض ساعت ها برای رفع باگ موجود در یک برنامه وقت صرف کنیم، غافل از اینکه یک صفر و یک ناقابل باعث بروز تمام مشکلات بوده اند! - تعریف آرایه ها به شیوه خطی و مجموعه ای یا شرکت پذیر (Associative). در این روش برعکس مورد قبل، از شیوه نگارش علامت [] استفاده نمی کنیم، بلکه کلیدها و مقادیر آنها را به صورت یک مجموعه و با کمک دستور array تعریف می کنیم، به طور مثال:
<?php
$page = array(0 => "Home", 1 => "Learn", 2 => "Buy", 3 => "About");
?>
اکنون به همان روشی که در بالا ملاحظه کردیم، می توانیم از این آرایه نیز خروجی بگیریم، در واقع تنها شیوه تعریف و مقداردهی ما فرق کرده است.
<?php
echo $page[0];
?>
خروجی کد بالا به صورت زیر خواهد بود:
Home
در این شیوه، حتی می توان کلیدها را نیز ننوشت و تنها مقادیر را به آرایه نسبت داد، در این صورت کلیدها به صورت خودکار ایجاد می شوند و در دسترس هستند:
<?php
$page = array("Home", "Learn", "Buy", "About");
?>
- تعریف آرایه به شیوه تو در تو و چندبعدی (Multidimensional). نوع دیگری از تعریف آرایه در php، تعریف آن به شیوه آرایه در آرایه است، یعنی درون یک آرایه، خود چند آرایه دیگر قرار دارد که درون آن آرایه ها ممکن است همین روال وجود داشته باشد، این شیوه ممکن است کمی پیچیده گی کار با آرایه ها را بیشتر کند، اما در مواردی استفاده از آن اجتناب ناپذیر است، به مثال زیر توجه کنید.
<?php
$result = array(
"pages" => array("home","learn","buy"),
"users" => array("maryam","sina","mohammad")
);
?>
مسلما شیوه خروجی گرفتن از آرایه های بالا با آنچه که پیشتر دیدیم متفاوت خواهد بود، در اینجا لازم است که ابتدا متغیر اصلی آرایه را مشخص کنیم، سپس آرایه زیرمجموعه و در نهایت کلید مورد نظر در آن آرایه را، تا مقدار به خروجی ارسال شود:
<?php
echo $result['pages'][1];
?>
به این صورت دستور بالا در بین متغیر فرضی result که عنوان آرایه اصلی ماست و آرایه زیر مجموعه آن با نام pages، کلید دوم (که با عدد ۱ دریافت می شود) را به خروجی می دهد، یعنی خروجی برابر خواهد بود با:
learn
در واقع با این شیوه تعریف آرایه، کلیدها به صورت خودکار و درونی ساخته می شوند و نیازی نیست ما به صورت دستی آنها را تعریف کنیم، کافی است مقادیر را به هر آرایه نسبت دهیم و بقیه کار را به مفسر php بسپاریم. مثال دیگر این بار با نوشتن کلیدها:
<?php
$result = array(
"pages" => array(0 => "home", 1 => "learn", 2 => "buy"),
"users" => array(0 => "maryam", 1 => "sina", 2 => "mohammad")
);
?>
ملاحظه می کنید که بحث آرایه ها در واقع بحث متغیر، کلید و مقدار است، یعنی با درک این سه موضوع تا حدود زیادی می توان با نحوه کار آن آشنا شد.

استفاده از آرایه ها در حلقه foreach

مفسر php به طور ذاتی و از پیش تعریف شده، برای کار با آرایه ها در برنامه نویسی پیشرفته، حلقه ی foreach را در نظر گرفته است، با foreach می توانیم به فرض اطلاعات ارسال شده از یک فرم html که قابلیت انتخاب چندگانه دارد را تجزیه کرده و آیتم به آیتم مورد پردازش قرار دهیم، به طور مثال فرم html زیر را در نظر بگیرید.
<form action="#" method="post">
<select name="country[]" multiple="multiple">
<option value="Asia">Iran</option>
<option value="Europe">Germany</option>
<option value="Asia">Japan</option>
</select>
<input type="submit" value="ارسال" />
</form>
این یک فرم معمولی نیست! در این فرم فیلد انتخاب شونده ما قابلیتی منحصر به فرد دارد، این قابلیت این است که کاربر می تواند با نگه داشتن کلید Ctrl از بین option های موجود یک یا چند مورد را در یک ارسال، انتخاب کند، ملاحظه می کنید که علامت [] و عبارت multiple به حالت عادی فرم های html اضافه شده اند، این کار برای ایجاد یک آرایه از اطلاعات ارسالی است، اما در سمت سرور این آرایه را با چه چیز مدیریت کنیم؟ پاسخ روشن است، با حلقه foreach؛ به مثال زیر توجه کنید:
<?php
$country = $_POST['country'];
foreach ($country as $land){
    echo $land . '<br />';
}
?>
به این صورت اگر کاربر تمام موارد را انتخاب کند، خروجی به شکل زیر خواهد بود:
Asia
Europe
Asia
در واقع این نتیجه را به وسیله حلقه for نیز می توان به دست آورد، اما به دلیل اینکه حلقه for به طور ذاتی برای کار با آرایه ها ساخته نشده است، باید هنگام خروجی، مقادیر کلید مورد نظر خود را نیز به آن بدهیم، به طور مثال:
<?php
$country = $_POST['country'];
$count = count($country);
for($i=0;$i < $count;$i++){
    echo $country[$i] . '<br />';
}
?>
کد بالا نیز مشابه حلقه foreach رفتار خواهد کرد. توجه کنید که در اینجا، کلید آرایه به صورت داینامیک و در هر دور حلقه ایجاد می شود، در واقع مقادیر کلید، همان مقادیر متغیر i است که در هر دور حلقه افزایش می یابد و حلقه نیز تا جایی که مقادیر i از تعداد آرایه ها که با تابع count محاسبه شده اند، کوچکتر باشد، ادامه می یابد.

1395/2/1       00000             آرایه (Array) در برنامه نویسی php       PHP



پایگاه اطلاع رسانی ابزارهای مدیریت محتوای وردپرس , پایگاه اطلاع رسانی درخشان , پایگاه اطلاع رسانی روندها Trand.ir , پایگاه اطلاع رسانی دانشجویان دانشگاه مجازی فاران , پایگاه اطلاع رسانی FreePC.ir , پایگاه اطلاع رسانی مدیریت پیامکهای انبوه , پایگاه اطلاع رسانی نرم افزارهای جغرافیایی , پایگاه اطلاع رسانی کلیل ، کلیل فارس ، شهر اقلید , پایگاه اطلاع رسانی FreeP30.ir , پایگاه اطلاع رسانی مدیریت ارسال و دریافت پیامک انبوه , پایگاه اطلاع رسانی اطلس ها , پایگاه اطلاع رسانی تولید کننده نقشه سایت , پایگاه اطلاع رسانی شهید شیرودی , پایگاه اطلاع رسانی آقای حاج سلمانی , پایگاه اطلاع رسانی دانشجویان رشته روانشناسی تربیتی دانشگاه آزاد واحد علوم تحقیقات تهران , پایگاه اطلاع رسانی ابزارهای مدیریت و ویرایش تصویر و عکس آنلاین بصورت رایگان , پایگاه اطلاع رسانی آقای محمودپور , پایگاه اطلاع رسانی آقای کندی , پایگاه اطلاع رسانی 88080.ir , پایگاه اطلاع رسانی بهترین هاست , پایگاه اطلاع رسانی همراه اولی ، مدیریت پیامک و SMS , پایگاه اطلاع رسانی دی جی 115 , پایگاه اطلاع رسانی آقای گودرزی , پایگاه اطلاع رسانی دی جی 2000 , پایگاه اطلاع رسانی اخترشناسان ایران , پایگاه اطلاع رسانی فروش محصولات فرهنگی , پایگاه اطلاع رسانی بررسی رتبه و رنک سایت , پایگاه اطلاع رسانی بهترین گروه و انجمن , پایگاه اطلاع رسانی 42152.ir , پایگاه اطلاع رسانی آرک مپ ArcMap.ir , پایگاه اطلاع رسانی با فرهنگ , پایگاه اطلاع رسانی اولین همراه , پایگاه اطلاع رسانی مدیریت و دسترسی به آدرسها و لینکهای اینترنتی , سامانه مدیریت محتوای parcms.ir , پایگاه اطلاع رسانی ابزارهای فناوری اطلاعات , پایگاه اطلاع رسانی پشتیبانی از خدمات و سرویسهای ارائه شده به شما , پایگاه اطلاع رسانی نجوم و اختر شناسی , پایگاه اطلاع رسانی ArcObject.ir , پایگاه اطلاع رسانی حیدرنیا , پایگاه اطلاع رسانی نیستی؟ , پایگاه اطلاع رسانی انجمن فناوری اطلاعات , پایگاه اطلاع رسانی خوابگاه های دانشجویی و کارمندی , پایگاه اطلاع رسانی پدیده شیراز , گروه پرهاست , پایگاه اطلاع رسانی تب فا TabFa.ir , پایگاه اطلاع رسانی پرهام حیدرنیا , پایگاه اطلاع رسانی همیار اس ام اس و پیامک های انبوه
تبلیغ گروه فنی مهندسی پرهاست , , تبلیغ گروه فنی مهندسی پرهاست
Copyright © 2002-2017, hamyaarsms.ir. Design and Hosting by ParHost All Rights Reserved.
2507