PHP сбрасывает значения массива

#php #arrays

#php #массивы

Вопрос:

У меня есть массив и ключи в отдельном массиве. Мне нужно сбросить массив.

  Array
(
[0] => RequestDocument
[1] => Orders
[2] => Order
[3] => OrderProducts
[4] => OrderProduct
)
 

Как зациклить массив, чтобы сделать сброс, как показано ниже.

 unset(["RequestDocument"]["Orders"]["Order"]["OrderProducts"]["OrderProduct"]);
 

Пожалуйста, помогите.

Спасибо, Сарнита

Комментарии:

1. Вы хотите сбросить все элементы вашего массива, значения которых можно найти в другом массиве?

Ответ №1:

В этом случае я советую использовать функцию array_filter:

   <?php
   $x = [
       0 => "RequestDocument",
       1 => "Orders",
       2 => "Order",
       3 => "OrderProducts",
       4 => "OrderProduct",
   ];
   
   $filter = [
       "RequestDocument",
       "Orders",
       // "Order",
       "OrderProducts",
       "OrderProduct",
   ];
   
   $y = array_filter($x, function ($el) use ($filter) {
       return !in_array($el, $filter);
   });
 

Протестируйте здесь онлайн-код PHP

Комментарии:

1. array_diff было бы более простым подходом.