Php 如何将重复数据删除到阵列中

Php 如何将重复数据删除到阵列中,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,需要代码的帮助 这是我要删除两(2)个Wi-fi的阵列列表 我也尝试过数组_unique() 结果如下: Array ( [0] => Year of construction [1] => Shower [2] => Wi-fi ) 但我想保留设备代码、设备组码、订单、编号等。 感谢您的帮助。//填充数据 //populate data $mainArr = array(); $first = array( "facilityCode" =

需要代码的帮助

这是我要删除两(2)个Wi-fi的阵列列表

我也尝试过数组_unique()

结果如下:

Array
(
    [0] => Year of construction
    [1] => Shower
    [2] => Wi-fi

)
但我想保留设备代码、设备组码、订单、编号等。 感谢您的帮助。

//填充数据
//populate data
$mainArr = array();
$first = array(
    "facilityCode" => 20,
    "facilityGroupCode" => 10,
    "order" => 1,
    "number" => 1968,
    "voucher" => "",
    "description" => "Year of construction",
);
$second = array(
    "facilityCode" => 550,
    "facilityGroupCode" => 70,
    "order" => 1,
    "indFee" => "",
    "indYesOrNo" => 1,
    "voucher" => "",
    "description" => "Wi-fi"
);

$mainArr["20-10"] = $first;
$mainArr["550-70"] = $second;
$mainArr["261-60"] = $second;

//get duplicates
$counter = 0;
$duplicates = array();

foreach ($mainArr as $key=>$val) {
    $counter++;
    if (in_array($key, $duplicates)) continue;
    $i = 0;

    foreach ($mainArr as $key1=>$val1) {
        if ($i < $counter) {
            $i++;
            continue;
        }

        if ($val["description"] == $val1["description"]) {
            array_push($duplicates, $key1);
        }
    }
}

//remove duplicates
foreach($duplicates as $key) {
    unset($mainArr[$key]);
}
$mainArr=array(); $first=数组( “设施代码”=>20, “facilityGroupCode”=>10, “订单”=>1, “数字”=>1968, “凭证”=>“”, “说明”=>“施工年份”, ); $second=数组( “设施代码”=>550, “facilityGroupCode”=>70, “订单”=>1, “indFee”=>“”, “indYesOrNo”=>1, “凭证”=>“”, “说明”=>“Wi-fi” ); $mainArr[“20-10”]=$first; $mainArr[“550-70”]=$second; $mainArr[“261-60”]=$second; //获得副本 $counter=0; $duplicates=array(); foreach($mainArr作为$key=>$val){ $counter++; 如果(在数组中($key,$duplicates))继续; $i=0; foreach($mainArr作为$key1=>$val1){ 如果($i<$counter){ $i++; 继续; } 如果($val[“说明”]==$val1[“说明”]){ 数组推送($duplicates,$key1); } } } //删除重复项 foreach($key的副本){ 未设置($mainArr[$key]); }
一行即可满足您的要求

$result = array_reverse(array_values(array_column(array_reverse($arr), null, 'description')));
你的需求的来源

$itemRows = array(); // Your main array
$descriptionValues = array();

foreach ($itemRows as $itemKey => $itemRow) {
    foreach ($itemRow as $key => $value) {
        if ($key == 'description') {
            if (in_array($value, $descriptionValues)) {
                unset($itemRows[$itemKey]);

                continue 2;
            }

            $descriptionValues[] = $value;
        }
    }
}
$result = array_reverse(array_values(array_column(array_reverse($arr), null, 'description')));