このようなデータベースから結果を取得します。
array(
[0] => array(
[type] => orange,
[number] => 10,
[size] => 10c,
[weight] => 1l
)
[1] => array(
[type] => mango,
[number] => 10,
[size] => 10c,
[weight] => 1l
)
[1] => array(
[type] => apple,
[number] => 10,
[size] => 10c,
[weight] => 1l
)
[3] => array(
[type] => mango,
[number] => 10,
[size] => 10c,
[weight] => 1l
)
)
基本的に、これを次の JSON 形式に変換する必要があります。
"mango" : [{
"number" : "10",
"size" : "10c",
"weight" : "1l"
},
{
"number" : "12",
"size" : "14c",
"weight" : "12"
}
],
"orange" : [{
"number" : "12",
"size" : "10c",
"weight" : "1l"
},
{
"number" : "12",
"size" : "14c",
"weight" : "11"
}
],
"apple" : [{
"number" : "10",
"size" : "10c",
"weight" : "1l"
},
{
]
数、サイズ、重量は無視してください。それらは単なる乱数です。ただし、配列の最初の要素には JSON タグが含まれています。これは配列から削除する必要がありますが、JSON のオブジェクトの配列のタグとして取得する必要があります (ご覧のとおり)。
ループや条件などを使用して記述できることはわかっています。既存の組み込みの PHP 関数を使用して、ループや条件を減らしてこれを行うスマートで迅速な方法はありますか?
手順は次のとおりです。
- タイプに基づいてアレイの個性をフィルタリングします。多分、ここで3回で3個の果実が取れます。ここで役立つ機能はどれですか? 値に基づいてフィルタリングします。または理想的にはキーと値のペア。
- それぞれが 1 種類の果物に対応する 3 つの配列を取得します。すべての配列の type 要素を個別にポップオフします。
- 型をループし、型の値をインデックスとして各型に配列を配置します。
他に良い方法はありますか?