从多维数组中删除数组

时间:2013-04-03 09:41:52

标签: php multidimensional-array

我需要能够从多维数组中删除指定数量的数组,其中一个值在所有数组中都相同。我有的示例数组:

array(
      array(1,'this'),
      array(2,'that'),
      array(1,'andthat')
)

因此,例如,我需要删除两个数组作为第一个值的数组。

我该怎么做?

3 个答案:

答案 0 :(得分:4)

您可以使用array_filter()来执行此操作。

$newArray = array_filter($arr, function($arr) { return $arr[0] != 1; });

CodePad

答案 1 :(得分:1)

可能这更容易理解:

foreach($a as $i => $item)
    if($item[0]==1)
        unset($a[$i]);

其中$a是数组,$item是子数组,$i是数组索引

答案 2 :(得分:0)

我测试了这个以防止重复数组,这可能对你有所帮助......

<?php
function func($array)
{
  $result = array_map("unserialize", array_unique(array_map("serialize", $array)));

  foreach ($result as $key => $value)
  {
    if ( is_array($value) )
    {
      $result[$key] = func($value);
    }
  }

  return $result;
}
?>