主キーとして ID を含む多くの配列があり、各 ID の下に多次元情報があります。以下に 2 つの例を示します。
最初の配列の例:
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)
これらのような多くの配列の共通部分を (キーに基づいて) 取得したいのですが、キーごとに各配列の重みとカウント データを保持する必要があります。各配列の重みとカウントのデータが異なることに注意してください。この場合、business_type と industry.
必要な最終配列:
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 ( keys ) のリストに減らしてから、その配列をループして、比較した元の配列のそれぞれから重みとカウントの情報を取得することです。