Er Nilay Parekh Ответов: 1

Как сравнить два ключа и значение и найти максимальное значение ключа из массива


Мне нужно решение, как сравнить два ключа и значение и найти максимальное значение ключа из массива.

объясните: - у меня есть ниже массив в этом случае, если * * url * * и * * con code* * оба одинаковы, чем выше** сумма * * массив должен отображаться и данные unmatch должны отображаться, пожалуйста, предоставьте решение для того же самого .

$массив = массив(
массив(
"id" => 1,
"сумма" => 10,
"URL-адрес" =&ГТ; 'https://play.google.com/store/apps/details?id=com.my.heroesofutopia',
"кон" =&ГТ; массив('нас' =&ГТ;массив('идентификатор'=> У '1','код'=> У'нас')),
),
массив(
"id" => 2,
"сумма" => 3,
"URL-адрес" =&ГТ; 'https://play.google.com/store/apps/details?id=com.my.heroesofutopia' ,
"кон" =&ГТ; массив('нас' =&ГТ;массив('идентификатор'=> У '1','код'=> У'нас')),
),
массив(
"id" => 3,
"сумма" => 19,
"URL-адрес" =&ГТ; 'https://play.google.com/store/apps/details?id=com.my.heroesofutopia' ,
"кон" =&ГТ; массив('нас' =&ГТ;массив('идентификатор'=> У '1','код'=> У'нас'),'Великобритания' =&ГТ;массив('идентификатор'=&ГТ; '2','код'=&ГТ;'УК')),
),
массив(
"id" => 4,
"сумма" => 50,
"URL-адрес" =&ГТ; 'https://play.google.com/store/apps/details?id=com.my.heroesofutopia1111' ,
"кон" =&ГТ; массив('нас' =&ГТ;массив('идентификатор'=> У '1','код'=> У'нас'),'Великобритания' =&ГТ;массив('идентификатор'=&ГТ; '2','код'=&ГТ;'УК')),
),
);

Пожалуйста, проверьте результат, который я хочу
в этом примере 1 и 2 id имеют одинаковый url и код страны, поэтому из этих двух мы должны выбрать более высокую сумму one.so мы выбираем это, и id 3 и 4 не соответствуют этому критерию, поэтому он останется таким же в этом массиве, потому что ID 3 имеет тот же url-адрес, но имеет другой код страны, а ID 4 имеет другой url-адрес.

пожалуйста, предоставьте решение для того же самого,
заранее спасибо...!!

массив ("id" => 1,
"сумма" => 10,
"URL-адрес" =&ГТ; 'https://play.google.com/store/apps/details?id=com.my.heroesofutopia',
"кон" =&ГТ; массив('нас' =&ГТ;массив('идентификатор'=> У '1','код'=> У'нас')),
),
массив(
"id" => 3,
"сумма" => 19,
"URL-адрес" =&ГТ; 'https://play.google.com/store/apps/details?id=com.my.heroesofutopia' ,
"кон" =&ГТ; массив('нас' =&ГТ;массив('идентификатор'=> У '1','код'=> У'нас'),'Великобритания' =&ГТ;массив('идентификатор'=&ГТ; '2','код'=&ГТ;'УК')),
),
массив(
"id" => 4,
"сумма" => 50,
"URL-адрес" =&ГТ; 'https://play.google.com/store/apps/details?id=com.my.heroesofutopia1111' ,
"кон" =&ГТ; массив('нас' =&ГТ;массив('идентификатор'=> У '1','код'=> У'нас'),'Великобритания' =&ГТ;массив('идентификатор'=&ГТ; '2','код'=&ГТ;'УК')),
),

Что я уже пробовал:

Мой код для этого есть



$выход = [];
foreach($array as $data){

если(!использования isset($выход[$данных['URL-адрес']]) ){

$выход[$данных['адрес']] = $данных;

}
ключевые слова elseif( $выход[$данных['адрес']]['сумма'] &ЛТ; $данных['сумма']){

$выход[$данных['адрес']] = $данных;
}

}
эхо "
"; print_r($output);

1 Ответов

Рейтинг:
10

Er Nilay Parekh

$output = array_reduce($array, function ($carry, $itemA) {
вернуться array_filter($переноски, функция ($itemB) использовать($итема) {
вернуть (
$itemB ['url']! = $itemA ['url']
| / $itemB ['con'] != $itemA ['con']
| / $itemB ['amount'] >= $itemA ['amount']
);
});
}, $массив);