Сопоставление массива и добавление значений в первый массивPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сопоставление массива и добавление значений в первый массив

Сообщение Anonymous »

У меня есть два массива: один с конверсией_оффера_ид, конверсиями и выплатами. Теперь я хочу сопоставить его с другим массивом и добавить все значения первого массива во второй массив, а если нет, то добавить значения конверсии и выплаты как 0.

Массив 1 ($конверсий)

Код: Выделить всё

[
{
"conversion_offer_id": 90,
"conversions": 15,
"payout": 225
},
{
"conversion_offer_id": 196,
"conversions": 1,
"payout": 120
},
{
"conversion_offer_id": 720,
"conversions": 53,
"payout": 1590
}
]
Массив 2 ($clkcs)

Код: Выделить всё

[
{
"clicks": 142,
"offer_currency": 45,
"click_offer_id": 90,
"click_affiliate_id": 9106,
"offer_name": "BKS",
"offer_id": 90,
"currency_symbol": "₹"
},
{
"clicks": 8,
"offer_currency": 45,
"click_offer_id": 196,
"click_affiliate_id": 9106,
"offer_name": "FFU",
"offer_id": 196,
"currency_symbol": "₹"
},
{
"clicks": 1,
"offer_currency": 45,
"click_offer_id": 246,
"click_affiliate_id": 9106,
"offer_name": "GFT",
"offer_id": 246,
"currency_symbol": "₹"
},
{
"clicks": 1,
"offer_currency": 45,
"click_offer_id": 334,
"click_affiliate_id": 9106,
"offer_name": "JPR",
"offer_id": 334,
"currency_symbol": "₹"
},
{
"clicks": 1,
"offer_currency": 45,
"click_offer_id": 622,
"click_affiliate_id": 9106,
"offer_name": "TWS",
"offer_id": 622,
"currency_symbol": "₹"
},
{
"clicks": 1197,
"offer_currency": 45,
"click_offer_id": 720,
"click_affiliate_id": 9106,
"offer_name": "KPS",
"offer_id": 720,
"currency_symbol": "₹"
}
]
Моя логика достижения

Код: Выделить всё

foreach($clkcs as $k=>$key){
foreach($conversions as $ckey){
if($key['click_offer_id']==$ckey['conversion_offer_id']){

$clkcs[$k]['offer_id']=$ckey['conversion_offer_id'];

$clkcs[$k]['conversions']=$ckey['conversions'];
$clkcs[$k]['payout']=$ckey['payout'];

}else{
$clkcs[$k]['conversions']='0';
$clkcs[$k]['payout']='0';

}
}

}
Конверсии и выплаты только за последние соответствующие значения заполняются нормально. Для остальных это 0.

Но необходимо также добавить конверсию и выплату для идентификаторов предложения 90 и 196.

Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/446 ... irst-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»