尝试使用array_unique,但这没有帮助,因为并非所有字段都对我重复。我的阵列:
'Rows' =>
array (
0 =>
array (
'HotelId' => 94852,
'OfferId' => 858080496,
'OfferIdStr' => '858080496',
'Price' => 2762,
),
1 =>
array (
'HotelId' => 94852,
'OfferId' => 858080497,
'OfferIdStr' => '858080497',
'Price' => 3000,
),
我的尝试:
$allHotels['Rows'] = array_unique($allHotels['Rows'], SORT_REGULAR);
更改了标志,也没有帮助(SORT_NORMAL等(。它删除了所有内容,我需要忽略HotelId重播,只需要第一次。
如果您只想根据HotelId
值删除重复的条目,那么最简单的方法可能是遍历数组,存储所看到的HotelId
值,如果已经看到了HotelId
值,则删除当前条目。
$seenHotels = array();
foreach ($allHotels['Rows'] as $key => $hotel) {
if (in_array($hotel['HotelId'], $seenHotels)) {
unset($allHotels['Rows'][$key]);
}
else {
$seenHotels[] = $hotel['HotelId'];
}
}
print_r($allHotels);
3v4l.org 上的演示