روش های مختلفی برای انجام حذف یک عضو از آرایه وجود دارد که هر کدام از آن در یک جا مفید تر خواهد بود.
حذف یک عضو از آرایه
اگر شما نیاز دارید یک عضو از آرایه را حذف کنید می توانید از ()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
]
موفق باشید .