جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات نقل قل ها
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.


×
×
درگذشت تلخ و جانسوز مهسا امینی را به تمام مردم ایران تسلیت عرض میکنیم؛ امید داریم که من بعد شاهد این قسم وقایع تلخ و ناگوار در کشور عزیزمان ایران نباشیم.
×

دلیل درخواست بستن پست

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

چگونه یک عضو ازآرایه را در php حذف کنم ؟


2
0
1008

من یک آرایه دارم به طور مثال

$arr = [1,2,3,4];

ولی من نیاز به همچین آرایه ای دارم :

$arr = [1,3,4];

اگر دقت کرده باشید ایندکس اول آرایه که مقدار 2 را داشت حذف شده است .

راه حلی که به ذهنم رسید این است که برابر null قرار بدهم بدین صورت

$arr[1] = null;

اما وقتی آرایه را چاپ کردم این نتیجه را داشت

var_dump($arr);

// خروجی

// array(4) {
//   [0]=> int(1)
//   [1]=> NULL
//   [2]=> int(3)
//   [3]=> int(4)
// }

متوجه شدم این روش مقدار را null کرده ولی هنوز ایندکس 1 وجود دارد

ایده ای برای حذف عضو آرایه دارید؟

تکنولوژی برنامه-نویسی پی-اچ-پی
سوال شده در ناشناس
N امتیاز

1
از نظر من باید از unset استفاده بکنید برای اینکه آیتم کلا از توی آرایتون حذف بشه. در غیر این صورت فقط مقدارش رو از بین میبرید. ــ سعید مرادی در 4 سال قبل

500 کاراکتر باقی مانده

1 جواب

3

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

حذف یک عضو از آرایه

اگر شما نیاز دارید یک عضو از آرایه را حذف کنید می توانید از ()unset و یا ()array_splice استفاده کنید.

اگر شما key آن عضو را نمی دانید می توانید برای پیدا کردن آن از ()array_search استفاده کنید.

متد ()unset

شما باید key آن عضو آرایه را به صورت زیر برای این متد بفرستید .

<?php

        $array = [0 => "a", 1 => "b", 2 => "c"];
        \unset($array[1]);
                        //↑ عضوی که میخواهید حذف کنید.

?>

خروجی :

]
    [0] => a
    [2] => c
]

حذف چند عضو از آرایه

اگر می خواهید چندین عضو از آرایه را حذف کنید می توانید از array_diff() یا array_diff_key() یا array_splice() استفاده کنید.

متد array_splice()

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

به این صورت از آن استفاده می کنیم:

<?php

    $array = [0 => "a", 1 => "b", 2 => "c"];
                           //↓ تا چند عضو جلو رود. 
    \array_splice($array, 1, 1);
                    //↑ از عضو چندم شروع شود.

?>

خروجی :

[
    [0] => a
    [1] => c
]

متد array_diff()

اگر شما مقدار عضو ها را می دانید می توانید از array_diff() استفاده کنید.

<?php

    $array = [0 => "a", 1 => "b", 2 => "c"];
    $array = \array_diff($array, ["a", "c"]);
                               //└──────┘→ مقدار عضو آرایه که می خواهید حذف کنید.

?>

خروجی:

[
    [1] => b
]

متد array_diff_key()

در این متد ما میتوانیم با استفاده از key های عضو ها آن ها را حذف کنیم بدین صورت :

<?php

    $array = [0 => "a", 1 => "b", 2 => "c"];
    $array = \array_diff_key($array, [0 => "xy", "2" => "xy"]);
                                    //↑           ↑key هایی که میخواهیم حذف کنیم
?>

دقت کنید که key ها باید به عنوان key بفرستیم نه مقدار اگر تاکنون به اشتباه key ها را به عنوان مقدار استفاده کرده اید از array_flip() استفاده کنید تا جای مقدار با key عوض شود.

خروجی :

[
    [1] => b
]

موفق باشید .

ویرایش شده در 4 سال قبل
جواب داده شده در علی رضایی <m>★</m>
1139 امتیاز


ببخشید دلیل استفاده از یک بک اسلش در پشت تابع array_diff_key چیه؟ ــ سعید مرادی در 4 سال قبل

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


لام تا کام نسخه صفحه کلید نیز راه اندازی شده است. شما با استفاده از کلیدهای موجود بر روی صفحه کلید دستگاهتان می توانید با وب سایت ارتباط برقرار کنید.
لیست کلید های میانبر

تبلیغات توضیحی


اقتصاد رفتاری بررسی روشهای تاثیرگذار بر رفتار کاربران
مردم همیشه به دنبال چیزهایی هستند که نمیتونن اونارو داشته باشن، و با به سادگی نمیتونن اون رو به دست بیارن.

تبلیغات تصویری


محک