Я хочу удалить повторяющиеся значения из многомерного массива. У меня есть выходной массив как это: -Как удалить повторяющиеся значения из массива в 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
Я хочу удалить Одежды и спорт & Entertainment, который показывает несколько раз. Я хочу удалить '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_TYPE». Я также хочу удалить повторяющиеся значения '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
Посмотрите на вид спереди конца ..
просто удалите 'product_category' из' SELECT' Query – Noman
@Noman, но я хочу, чтобы 'product_category' отображался, но только 1 раз. Если я удалю 'product_category', то как это будет показано. Спасибо за ответ. –
вам нужно установить условия в категории продукта. это самое простое решение :) – Noman