PHP ile İki Dizi Arasındaki Farklı Value'ları Bulma
Merhaba PT.
Elimde 2 dizi var. Sıralamaları karışık fakat value'larında eşleştirebileceğim item_id
'ler var. ID'leri aynı olup item_content
'leri farklı olanları $sonuç
dizimdeki şekliyle almak istiyorum. Bir türlü çıkamadım işin içinden. :)
$dizi1 = [
0 => [
"item_id" => 4,
"item_content" => "prototurk"
],
1 => [
"item_id" => 2,
"item_content" => "prototurk"
],
2 => [
"item_id" => 3,
"item_content" => "prototurk"
],
3 => [
"item_id" => 1,
"item_content" => "prototurk"
]
];
$dizi2 = [
0 => [
"item_id" => 1,
"item_content" => "soru"
],
1 => [
"item_id" => 2,
"item_content" => "prototurk"
],
2 => [
"item_id" => 3,
"item_content" => "cevap"
],
3 => [
"item_id" => 4,
"item_content" => "prototurk"
]
];
$sonuc = [
0 => [
"item_id" => 1,
"item_content" => [
"old" => "prototurk",
"new" => "soru"
]
],
1 => [
"item_id" => 3,
"item_content" => [
"old" => "prototurk",
"new" => "cevap"
]
]
];
Kısa yazmak için arrow function kullanmak istedim ve sizin de söylediğiniz gibi PHP 7.4 sürümünde eklenen bir özellik olduğu için eski sürümlerde hata verir.
https://www.php.net/manual/en/functions.arrow.php
Normal function şekliyle de kullanabilirsiniz.
uasort($dizi1, function($a, $b) {
return $a['item_id'] - $b['item_id']
});