تخفیف ویژه

روش های حذف کردن یک عضو آرایه در PHP

دسته بندی: آموزش
زمان مطالعه: 3 دقیقه
۱۳ اردیبهشت ۱۳۹۷

روش حذف کردن یک عضو آرایه در PHP

در این مطلب میخوایم روشهای مختلفی که با استفاده از اون میتونین یک یا چند عضو از آرایه رو در زبان PHP‌ حذف کنید رو بهتون آموزش بدم. روشهای متفاوتی برای انجام این کار وجود داره که در ادامه در مورد اونا توضیح میدم.

اگر شما میخواید فقط یک عضو رو از آرایه حذف کنید، میتونین از متدهای unset و array_splice استفاده کنید. همچنین شما اگر مقدار یک عضو رو دارید و نمیتونین که کلید اون چی هست که با استفاده از اون پاکش کنید، میتونین از array_search استفاده کنید و در ابتدا کلید اون رو پیدا کنید و در نهایت با استفاده از کلید، عضو مورد نظر رو پاک کنید.

با استفاده از متد unset

دقت داشته باشید زمانی که از unset استفاده میکنید، کلیدهای آرایه مورد نظر تغییر نمیکنن و index اونا عوض نمیشه. اگر میخواید که آرایه رو reindex کنید باید بعد از استفاده از unset از تابع array_values استفاده کنید. کد زیر رو ببینید:

<?php

  $array = array(0 => "a", 1 => "b", 2 => "c");
  unset($array[1]);
              //↑ Key which you want to delete

?>

همونطور که میبینید یک آرایه با 3 عضو وجود داره و میخوایم با استفاده از unset عضو دوم اون رو حذف کنید. خروجی بصورت زیر خواهد شد:

Array (
    [0] => a
    [2] => c
)

میبینید که عضو دوم پاک شده ولی index شماره 1 هم وجود نداره و reindex نشده.

با استفاده از متد array_splice

اگر شما از array_splice استفاده کنید، کلیدها بعد از حذف reindex میشن. دقت کنید که اگر با آرایه انجمنی سر و کار داشته باشیم، array_splice تغییری در index‌های اون به وجود نمیاره. (برعکس array_values که همه کلیدها رو از 0 مرتب میکنه)

همچنین با استفاده از این متد میتونین چند المنت رو بصورت همزمان پاک کنید. در اینجا فقط قصد داریم که یک عضو پاک بشه. برای اینکار بصورت زیر عمل میکنیم:

<?php

    $array = array(0 => "a", 1 => "b", 2 => "c");
    array_splice($array, 1, 1);
                       //↑ Offset which you want to delete

?>

میبینید که در اینجا مشخص کردیم که از ایندکس 1 به اندازه 1 المنت از آرایه مورد نظر حذف بشه. خروجی کد بالا بصورت زیر میشه:

Array (
    [0] => a
    [1] => c
)

به همین راحتی.

اگر شما هم روشی برای انجام اینکار به ذهنتون میرسه خوشحال میشیم که در بخش نظرات با ما در میان بذارید.

چه امتیازی به این مقاله می دید؟
نویسنده محمد اسفندیاری
بسیار به طراحی وب علاقمندم و به سرعت در حال یادگیری تمام مباحث پیشرفته هستم و دوست دارم که به دیگران هم یاد بدهم.

نظرات کاربران

nesyou

بعد 3 ماه؟

نازنین کریمی مقدم

سلام.
در چند ماه گذشته، تیم مشغول اصلاحات بوده. از شما بابت تاخیر پوزش میخوایم.
کامنتای خیلی خیلی زیادی به ما ارسال میشه و ما سعی میکنیم که در کوتاه ترین زمان ممکن پاسخ سوالات رو بدیم.

nesyou

سلام وقت بخیر من اگ بخام ی عضو ارایه ای رو کدارم تغییر بدم و ی چیز دیگ جایگیزن کنم از چ تابعی استفاده کنم

سامان عزیزی

می توانید از تابع ()array_replace استفاده کنید البته سوالتون دقیق واضح نیست اگر با این تابع کارتون راه نیافتاد دوباره سوالتون رو دقیق تر و بدون غلط املایی بفرستید موفق باشید

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :