Avatar ·

كيفية حذف عنصر من مصفوفة في PHP وإعادة فهرسة المفاتيح؟ مشاكل مع unset()

```html

مرحباً بالجميع! أنا مبتدئ في PHP واجهت مشكلة عند حذف عناصر من المصفوفة.

لدي مصفوفة بأسماء المستخدمين:

$users = ['Анна', 'Иван', 'Мария', 'Петр'];

أحتاج إلى حذف العنصر الثاني (Иван). قرأت أنه لهذا الغرض تُستخدم الدالة unset()، وكتبت الكود التالي:

unset($users[1]);
print_r($users);

لكن النتيجة فاجأتني كثيراً! بدلاً من مصفوفة بثلاثة عناصر (مفاتيح 0, 1, 2) حصلت على:

Array
(
    [0] => Анна
    [2] => Мария
    [3] => Петр
)

أصبحت المفاتيح غير متسلسلة: 0, 2, 3. عند محاولة التكرار باستخدام for على count($users) أتخطى العنصر ذا المفتاح 2. كما جربت حذف عنصر حسب القيمة وليس حسب المفتاح — مثلاً، حذف جميع المستخدمين باسم "Мария". كيف يمكن فعل ذلك بشكل صحيح؟

أحتاج إلى:

  1. مجرد حذف عنصر بحيث تبقى المصفوفة متسلسلة (مفاتيح 0,1,2).
  2. حذف جميع العناصر ذات قيمة معينة.
  3. فهم الفرق بين unset()
```