Сброс ассоциативного массива в цикле foreach, если этот ключ найден - PullRequest
0 голосов
/ 16 января 2019

У меня есть массив данных, все, что я хотел, это проверить, найден ли этот ключ, потому что, если это так, я буду сбрасывать определенный массив

Это будет мой пример массива:

Array
(
  [2019-01-01] => Array(
     [1] => Array(
        ['OLD'] => Array(
          [0] => Array(
            ['id']=>1,
            ['name']=>full name
          )
        )
        ['NEW'] => Array(
          [0] => Array(
            ['id']=>2,
            ['name']=>full name
          )
        )
     )
  )
  [2019-01-02] => Array(
     [1] => Array(
        ['OLD'] => Array(
          [0] => Array(
            ['id']=>5,
            ['name']=>full name
          )
        )
     )
  )
)

У меня есть этот код:

foreach ($my_array as $key=>$val) {
  foreach ($val as $key=>$val) {
    foreach ($val as $key=>$val) {
      // I wanted to check in this part if this array has `$key` OLD and `$key` NEW, if it has new then unset OLD
    }
  }
}

Моим ожидаемым результатом будет удаление OLD, если есть NEW, но если нет NEW, сохраните массив OLD. Какую функцию array использовать здесь?

1 Ответ

0 голосов
/ 16 января 2019

Просто array_walk () может помочь вам. Пример:

array_walk($arr, function (&$item) {
    if(isset($item[1]['OLD'], $item[1]['NEW'])) unset($item[1]['OLD']);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...