表示順序でソートされた製品のリストを含む製品配列があります。
$products = array(
[0] = array(
"productID" => 189736,
"title" => "Spice Girls Album",
"category" => "CD",
"order" => "0"
),
[1] = array(
"productID" => 23087,
"title" => "Snakes on a plane",
"category" => "DVD",
"order" => "0"
),
[2] = array(
"productID" => 9874,
"title" => "The Beatles Album",
"category" => "CD",
"order" => "1"
), ... etc etc
私はそれを次のようなカテゴリ配列に変換するロジックを理解しようとしています:
$categories = array(
[0] => array(
"title" => "CD",
"products" => array (
[0] => "Spice Girls Album",
[1] => "The Beatles Album"
)
),
[1] => array(
"title" => "DVD",
"products" => array (
[0] => "Snakes on a plane"
)
)
したがって、各製品について、次のようになります。
if (!in_array($product['cateogry'], $categories)){
$categories[] = $product['cateogry'];
$categories[$product['category']][] = $product;
} else {
$categories[$product['category']][];
}
しかし、in_arrayがカテゴリ配列を十分に深くチェックしているとは思わないため、これは機能していません。誰かがこれを解決するための最良の方法について何かアドバイスがありますか?どうもありがとう