私は2つの配列を持っています。 1つはデータベースから来て、私はいつでも好きなものを注文することができます。
2番目のAPIはサードパーティのAPIから提供されており、注文を管理することはできません。私は、$desired
のように3つのキー(pk1
、pk2
、pk3
)に基づいて違いを判断しようとしています。 pk
-keysから作成される一意のキーを使用して指定されたキーの2次元PHP配列の相違
$array1=[
["pk1"=>1,"pk2"=>1,"pk3"=>1,"attr1"=>1,"attr2"=>3],
["pk1"=>1,"pk2"=>2,"pk3"=>1,"attr1"=>3,"attr2"=>1],
["pk1"=>1,"pk2"=>1,"pk3"=>2,"attr1"=>2,"attr2"=>3],
];
$array2=[
["pk1"=>2,"pk2"=>2,"pk3"=>1,"attr1"=>3,"attr2"=>1],
["pk1"=>1,"pk3"=>2,"pk2"=>1,"attr1"=>4,"attr2"=>3],
["pk1"=>1,"pk2"=>1,"pk3"=>1,"attr1"=>1,"attr2"=>3],
];
$desired=[
["pk1"=>1,"pk2"=>1,"pk3"=>1,"array1"=>["attr1"=>1,"attr2"=>3],"array2"=>["attr1"=>1,"attr2"=>3]],
["pk1"=>1,"pk2"=>2,"pk3"=>1,"array1"=>["attr1"=>3,"attr2"=>1],"array2"=>null],
["pk1"=>1,"pk2"=>1,"pk3"=>2,"array1"=>["attr1"=>2,"attr2"=>3],"array2"=>["attr1"=>4,"attr2"=>3]],
["pk1"=>2,"pk2"=>2,"pk3"=>1,"array1"=>null,"array2"=>["attr1"=>3,"attr2"=>1]]
];
あなたは問題を詳細に説明する必要があります。コードからはっきりとわかりません。 – Steve
'pk'sからユニークなキーを作成して比較してください。 –
@u_mulder私は現在 '$ array [" $ arr [pk1]〜$ arr [pk2]〜$ arr [pk3] "]を使ってこれをやり始めています。 – user1032531