1

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

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

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

我该怎么做?

4

3 回答 3

4

你可以用它array_filter()来做到这一点。

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

键盘

于 2013-04-03T09:43:17.437 回答
1

可能这更容易阅读:

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

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

于 2013-04-03T09:52:53.457 回答
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;
}
?>
于 2013-04-03T09:51:34.880 回答