私は主キーとしてIDを含む多くの配列を持っており、各IDの下に多次元情報があります。PHPで配列交差を実行する際に、多次元配列情報を保持するにはどうすればよいですか?
第1の例のアレイ:
array
14181 =>
array
'industries' =>
array
'weight' => string '105652' (length=6)
'count' => string '11' (length=2)
48354 =>
array
'industries' =>
array
'weight' => string '508866' (length=6)
'count' => string '10' (length=2)
第2の例のアレイ:
array
16434 =>
array
'business_types' =>
array
'weight' => string '104614' (length=6)
'count' => string '1' (length=1)
48354 =>
array
'business_types' =>
array
'weight' => string '103610' (length=6)
'count' => string '10' (length=2)
私は(基づいてこれらのような多くの配列の共通項を取得したいのですがここでは2つの例があります)、キーごとに各配列の重みとデータを保持する必要があります。それは、各アレイから異なる重みとカウントデータであることに注目してください。この場合、business_typeと業種。必要な
決勝アレイ:
array
48354 =>
array
'business_types' =>
array
'weight' => string '103610' (length=6)
'count' => string '10' (length=2)
'industries' =>
array
'weight' => string '508866' (length=6)
'count' => string '10' (length=2)
もともと私は重みとカウントを維持しようとしていなかったので、私は単にarray_intersect_keys()
を行っていたし、ジョブが行われました。今私はこのデータを保持する必要があります。 array_intersect_keys()
がそれを保持することを期待してサブ配列に異なる名前を付けましたが、関数内の最初の配列に対してのみ保存します。
このような操作を行う方法はありますか?
私が思いつくことができる唯一の解決策は、すべての配列を最終的なID(キー)のリストに減らし、比較した元の配列のそれぞれからウェイトとカウント情報を引き出す配列をループすることです。
ソリューションは、私には罰金聞こえます。 –
私はちょうどあなたにアレイマージを書いたが、今私はそれを再読した、あなたは交差点を探している、それは正しい? – jedwards
私は交差点を行う必要があるだけでなく、データをマージする必要があります。私はあなたが私のソリューションの逆の順序でそれをやったと思うが、それはまだ有効であるかもしれない。 –