Php 如何将重复数据删除到阵列中
需要代码的帮助 这是我要删除两(2)个Wi-fi的阵列列表 我也尝试过数组_unique() 结果如下: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" =
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')));