2014-01-15 3 views
-1

я следующий многомерный массив:Удалить массив из многомерного массива, если ключ содержит

Array 
(
    [2014-01-21|699] => Array 
     (
      [id] => 331 
      [datum] => 2014-01-21 
      [title] => workshop 1 
      [alias] => workshop news 
     ) 

    [1970-01-01|507] => Array 
     (
      [id] => 331 
      [datum] => 1970-01-01 
      [title] => workshop 2 
      [alias] => workshop news 
     ) 

[1970-01-01|780] => Array 
     (
      [id] => 331 
      [datum] => 1970-01-01 
      [title] => workshop 3 
      [alias] => workshop news 
     ) 
) 

Как я могу удалить каждый массив, который содержит ключ 1970-01-01, что многомерный массив выглядит следующим образом:

Array 
    (
     [2014-01-21|699] => Array 
      (
       [id] => 331 
       [datum] => 2014-01-21 
       [title] => workshop 1 
       [alias] => workshop news 
      ) 
) 

Спасибо!

Toni

ответ

1

Вы можете использовать перебор приближение foreach петли и unset():

foreach ($yourArray as $key => $data) { 
    if ($data['datum'] == '1970-01-01') { 
     unset($yourArray[$key]); 
    } 
} 

В качестве альтернативы, вы можете использовать array_filter() иметь многоразовый обратный вызов, который может выполнить необходимую проверку для вас:

function checkDate($record) { 
    return ($record['datum'] != '1970-01-01'); 
} 

$filteredArray = array_filter($yourArray, 'checkDate'); 
+0

работает! Спасибо! –

Смежные вопросы