PHP检查数组中的double并删除最后一个

时间:2015-02-19 07:53:46

标签: php arrays multidimensional-array filter

通过过滤数组我遇到了问题!

我希望按'模型'名称进行过滤,然后删除最后一个双重名称。

在图像链接上,您可以看到数组结构。

第一张图片:

http://puu.sh/g3ofg/1636c6ff31.png

在第二张图片中,您可以看到我想要过滤的双倍值。

第二张图片:

http://puu.sh/g3oel/27c3825105.png

我该怎么做?

2 个答案:

答案 0 :(得分:0)

这是答案: 鉴于您的所有产品都在$ arrData中,并且密钥是连续的

foreach($arrData as $key=>$record) {
  for($i=$key+1; $i < count($arrData); $i++) {
    if(isset($arrData[$i]) && $record['model'] == $arrData[$i]['model']) {
      unset($arrData[$i]);
    }
  }
}

答案 1 :(得分:0)

我希望我理解你的问题。

<?php 

$models = [];

// Loop through data
foreach ($records as $key => $value) {

    $model = $value['model'];

    // If it already exists in the array
    if (isset($models["{$model}"])) {
        unset($records["{$key}"]);
    }

    $models["{$model}"] = $model;
}

?>