Php 从数组中删除特定的重复键值

Php 从数组中删除特定的重复键值,php,arrays,duplicates,Php,Arrays,Duplicates,我搜索并尝试了许多不同的“从数组中删除重复项”函数,但没有一个适合我的情况。我正在尝试从数组中删除特定的副本 我想从下面删除“PHASER 4600”的副本 您可以将它们放入一个新数组中,并在放入时检查它们是否重复 $newArray = array(); foreach ($oldArray as $old) { $found = false; foreach ($newArray as $new) { if ($new['product_name'] ==

我搜索并尝试了许多不同的“从数组中删除重复项”函数,但没有一个适合我的情况。我正在尝试从数组中删除特定的副本

我想从下面删除“PHASER 4600”的副本


您可以将它们放入一个新数组中,并在放入时检查它们是否重复

$newArray = array();

foreach ($oldArray as $old) {
    $found = false;

    foreach ($newArray as $new) {
        if ($new['product_name'] == $old['product_name']) {
            $found = true;
        }
    }

    if (!$found) {
        array_push($newArray, $old);
    }
}

您可以使用此功能:

function delete_duplicate_name(&$arr, $name){
    $found = false;
    foreach($arr as $key => $elm){
        if($elm['product_name'] == $name){
            if($found == true)
                unset($arr[$key]);
            else
                $found = true;
        }
    }
}
delete_duplicate_name($arr, 'PHASER 4600');
print_r($arr);

你说你试过各种各样的东西,但不要表现出你的工作能力。请添加一些代码以便我们可以提供帮助。回答这个问题,也许会有帮助。你从哪里弄来的?我相信这是雨篷
function delete_duplicate_name(&$arr, $name){
    $found = false;
    foreach($arr as $key => $elm){
        if($elm['product_name'] == $name){
            if($found == true)
                unset($arr[$key]);
            else
                $found = true;
        }
    }
}
delete_duplicate_name($arr, 'PHASER 4600');
print_r($arr);