如何在php中删除2D数组中的元素


how to delete element form 2D array in php

我有一个像下面这样的数组

Array
(
    [0] => Array
        (
            [REDUNDANT] => NO
            [FILE_NAME] => 51894a (2).pdf
        )
    [1] => Array
        (
            [REDUNDANT] => YES
            [FILE_NAME] => book (2).pdf
        )
    [2] => Array
        (
            [REDUNDANT] => YES
            [FILE_NAME] => samae (1).pdf
        )
    [3] => Array
        (
            [REDUNDANT] => NO
            [FILE_NAME] => aswss (1).pdf
        )        
)

我想删除所有的元素与array[INDEX][REDUNDANT] == 'YES'

删除数组后,新数组如下所示

Array
(
    [0] => Array
        (
            [REDUNDANT] => NO
            [FILE_NAME] => 51894a (2).pdf
        )
    [1] => Array
        (
            [REDUNDANT] => NO
            [FILE_NAME] => aswss (1).pdf
        )        
)

请帮忙为我找到解决方案,谢谢

试试这个,

foreach($files as $key => $file){
   if($file['REDUNDANT'] == "Yes"){
       unset($files[$key]);
   }
}
$files = array_values($files); // Reset key of updated array.

Codepad演示。

try this

   $abc= Array
   (
        [0] => Array
        (
              [REDUNDANT] => NO
            [FILE_NAME] => 51894a (2).pdf
            )
      [1] => Array
    (
        [REDUNDANT] => YES
        [FILE_NAME] => book (2).pdf
    )
[2] => Array
    (
        [REDUNDANT] => YES
        [FILE_NAME] => samae (1).pdf
    )
[3] => Array
    (
        [REDUNDANT] => NO
        [FILE_NAME] => aswss (1).pdf
    )        
)
      foreach($abc as $subKey => $subArray){
      if($subArray['REDUNDANT'] =='yes'){
           unset($abc[$subKey]);
        }
     }
   print_r($abc);
foreach($yourary as $key=>$value)
{
  if($value[REDUNDANT]=="YES")
  {
   unset($yourary[$key]);
  }
}