1
多次元配列を1次元配列に変換する例が多数見つかりました。配列のデータをまとめて保持し、それらをネストから最初のメイン配列に持っていく必要があります。1次元多次元配列への入れ子多次元配列
Array
(
[0] => Array
(
[id] => 2
[username] => user2
[downline] => Array
(
[0] => Array
(
[id] => 5
[username] => user5
[downline] => Array
(
[0] => Array
(
[id] => 9
[username] => user9
[downline] => Array
(
[0] => Array
(
[id] => 15
[username] => user15
)
[1] => Array
(
[id] => 16
[username] => user16
)
)
)
[1] => Array
(
[id] => 10
[username] => user10
[downline] => Array
(
[0] => Array
(
[id] => 17
[username] => user17
)
)
)
)
)
)
)
[1] => Array
(
[id] => 3
[username] => user3
[downline] => Array
(
[0] => Array
(
[id] => 6
[username] => user6
[downline] => Array
(
[0] => Array
(
[id] => 11
[username] => user11
[downline] => Array
(
[0] => Array
(
[id] => 18
[username] => user18
)
)
)
)
)
)
)
[2] => Array
(
[id] => 4
[username] => user4
[downline] => Array
(
[0] => Array
(
[id] => 7
[username] => user7
[downline] => Array
(
[0] => Array
(
[id] => 12
[username] => user12
[downline] => Array
(
[0] => Array
(
[id] => 19
[username] => user19
)
)
)
)
)
[1] => Array
(
[id] => 8
[username] => user8
[downline] => Array
(
[0] => Array
(
[id] => 13
[username] => user13
)
[1] => Array
(
[id] => 14
[username] => user14
)
)
)
)
)
)
これは、すべてのチームメンバーをメッセージングのためである:ここでは
は配列です。私は彼らが誰であるか気にしない、私はすべてのユーザーの完全な実行リストが必要なので、私はループして、システムにメッセージを送信することができます。だからここは私が取得しようとしています最終配列の例です:
[
[id] => 2
[username] => user2
],
[
[id] => 5
[username] => user5
],
[
[id] => 9
[username] => user9
],
[
[id] => 15
[username] => user15
],
[
[id] => 16
[username] => user16
],
[
[id] => 10
[username] => user10
],
[
[id] => 17
[username] => user17
],
[
[id] => 3
[username] => user3]
],
// ... and so on
理想的には、配列のキーはユーザーIDである可能性があります。これは、チームのメンバーを選ぶことができるドロップダウンメニューに表示されるか、それらのすべてにメッセージを送ることができます。このような何か:
[
1 => 'user1',
2 => 'user2',
9 => 'user9',
]
私はarray_merge
のバリエーション、array_walk_recursive
を試してみました...すべてが一つだけ醜い1次元配列にそれをすべてを平ら..動作しませんでした。このような
何か、 :
function flatten(array $arr) {
return array_reduce($arr, function ($c, $a) {
return is_array($a) ? array_merge($c, flatten($a)) : array_merge($c, [$a]);
},
[]);
}
ありがとう、あなたの命の恩人!私は子供(タブレット、音楽、ダンス)と妻を持っていて、今は集中できないようにしています。私は私が近くにいることを知っていたので、歩行を再帰的に正しく行かせることができませんでした。ありがとう! –
@WadeShuler、よろしいですか? P.S. (私はあなたが列挙したものは何も持っていません。 – RomanPerekhrest