我想從多維數組中刪除重複的值。我有一個陣列輸出是這樣的: -如何從PHP中的數組中刪除重複值?
0 =>
array (size=4)
'product_category' => string 'Apparel' (length=7)
'product_sub_cat' => string 'T-Shirts' (length=8)
'product_type' => string 'T-Shirts' (length=8)
'count' => int 14
1 =>
array (size=4)
'product_category' => string 'Apparel' (length=7)
'product_sub_cat' => string 'Hoodies & Sweatshirts' (length=21)
'product_type' => string 'Hoodies & Sweatshirts' (length=21)
'count' => int 5
2 =>
array (size=4)
'product_category' => string 'Apparel' (length=7)
'product_sub_cat' => string 'Sweaters' (length=8)
'product_type' => string 'Sweaters' (length=8)
'count' => int 1
3 =>
array (size=4)
'product_category' => string 'Sports & Entertainment' (length=22)
'product_sub_cat' => string 'Team Sports' (length=11)
'product_type' => string 'Basketball' (length=10)
'count' => int 1
4 =>
array (size=4)
'product_category' => string 'Sports & Entertainment' (length=22)
'product_sub_cat' => string 'Other Sports & Entertainment Products' (length=37)
'product_type' => string 'Other Sports & Entertainment Products' (length=37)
'count' => int 1
我想刪除服裝和體育&娛樂這正顯示出多次。我想刪除'Product_category'重複的值。下面是我的代碼
$stmt = $pdo->prepare("SELECT `product_category`, `product_sub_cat`, `product_type` FROM `search` WHERE product_name LIKE {$string}
OR `product_type` like '%" . $keyword . "%' OR `product_sub_cat` like '%" . $keyword . "%' ORDER BY `product_type`
LIKE '%" . $keyword . "%' DESC, `product_name`LIKE '%" . $keyword . "%' DESC ");
$stmt->execute();
$RelatedCategoryProduct = $stmt->fetchAll(PDO::FETCH_ASSOC);
//------------------------------- Count and Remove Duplicate Related Category Array values ------------------------------
function unserialize_unique_count($input, $k = 'count') {
$a = [];
foreach ($input as $d) {
$s = serialize($d);
$a[$s] = (isset($a[$s]) ? ($a[$s] + 1) : 1);
}
foreach ($a as $s => $c) {
$a[$s] = unserialize($s) + [ $k => $c];
}
return array_values($a);
}
$grouped_with_count = unserialize_unique_count($RelatedCategoryProduct);
上面的代碼是隻刪除「產品類型」的重複值。我也想刪除'product_category'索引的重複值。提前致謝。
編輯
我想結果是這樣的: -
0 =>
array (size=4)
'product_category' => string 'Apparel' (length=7)
'product_sub_cat' => string 'T-Shirts' (length=8)
'product_type' => string 'T-Shirts' (length=8)
'count' => int 14
1 =>
array (size=4)
'product_sub_cat' => string 'Hoodies & Sweatshirts' (length=21)
'product_type' => string 'Hoodies & Sweatshirts' (length=21)
'count' => int 5
2 =>
array (size=4)
'product_sub_cat' => string 'Sweaters' (length=8)
'product_type' => string 'Sweaters' (length=8)
'count' => int 1
3 =>
array (size=4)
'product_category' => string 'Sports & Entertainment' (length=22)
'product_sub_cat' => string 'Team Sports' (length=11)
'product_type' => string 'Basketball' (length=10)
'count' => int 1
4 =>
array (size=4)
'product_sub_cat' => string 'Other Sports & Entertainment Products' (length=37)
'product_type' => string 'Other Sports & Entertainment Products' (length=37)
'count' => int 1
看一看前端視圖..
只需從'SELECT'中刪除'product_category'查詢 – Noman
@Noman但我想'product_category'只顯示一次。如果我刪除了'product_category',那麼它將如何顯示。感謝您的回覆。 –
您需要在呈現產品類別時設置條件。這是最簡單的解決方案:) – Noman