array_shift و array_unshift - آزمون آنلاین پی اچ پی php
array_shift و array_unshift در پی اچ پی
تا حالا شده بخوای اولین عنصر یه آرایه رو برداری یا یه عنصر جدید به اول آرایه اضافه کنی؟ PHP برای این کار دو تا ابزار فوقالعاده داره که کارمون رو خیلی راحت میکنه. بیاین با هم ببینیم این دو تا تابع جذاب چطور کار میکنن.

اول از همه بریم سراغ array_shift. فکر کن یه صف طولانی داری و میخوای اولین نفر رو از صف بیرون بکشی. این تابع دقیقاً همین کار رو میکنه!
اولین عنصری که از آرایه برداشته میشه، به عنوان خروجی برگردونده میشه و آرایه اصلی هم یه دونه کوتاهتر میشه. حواست باشه که این تابع کلیدها رو دوباره تنظیم میکنه. یعنی اگه آرایهات کلید عددی داشته باشه، بعد از شیفت، کلیدها از صفر دوباره شروع میشن.
$میوه_ها = ['سیب', 'موز', 'پرتقال'];
$اولین_میوه = array_shift($میوه_ها);
// الان $اولین_میوه برابر با 'سیب' هست و آرایه $میوه_ها به این شکل در اومده:
// ['موز', 'پرتقال']
array_unshift: اضافه کردن به اول صف
حالا نوبت array_unshift رسیده، این تابع دقیقاً برعکس array_shift عمل میکنه. فرض کن یه نفر رو میخوای بذاری اول صف، بدون اینکه بقیه صف خراب بشه.
این تابع یه یا چند عنصر جدید رو به ابتدای آرایه اضافه میکنه. این تابع تعداد عناصری که اضافه شده رو برمیگردونه. یه نکته مهم: این تابع کلیدهای موجود در آرایه رو حفظ میکنه، ولی کلیدهای عددی رو دوباره از صفر مرتب میکنه.
$حیوانات = ['سگ', 'گربه'];
array_unshift($حیوانات, 'خرگوش', 'فیل');
// الان آرایه $حیوانات به این شکل شده:
// ['خرگوش', 'فیل', 'سگ', 'گربه']
برای اینکه بهتر این دو تا رو بفهمی، به این جدول نگاه کن:
| تابع | کاربرد | خروجی | تاثیر روی آرایه اصلی |
|---|---|---|---|
| array_shift | حذف اولین عنصر | عنصر حذف شده | کوتاه شدن آرایه |
| array_unshift | افزودن یک یا چند عنصر به ابتدا | تعداد عناصر اضافه شده | بلند شدن آرایه |
پس، با تمرین این دو تابع، دیگه تو کار با آرایهها لنگ نمیزنی! اگه میخوای بدونی چقدر تو این زمینه حرفهای هستی، حتماً تو آزمونمون شرکت کن.
اونجا میتونی با یه سری سوال خفن، اطلاعاتت رو محک بزنی و نقاط قوت و ضعفت رو پیدا کنی. این آزمون بهت نشون میده که چقدر به مفاهیم پایه تسلط داری و چطور میتونی تو پروژههات از این توابع هوشمندانه استفاده کنی.
اگه خواستی بازم از این جور ترفندهای PHP یاد بگیری، کافیه بهم بگی.