v2.5.2
Giriş yap

PHP ile İki Dizi Arasındaki Farklı Value'ları Bulma

redline
336 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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"
    ]
  ]
];
abdullahx
535 gün önce

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']
});