[PHP-users 17826]Re: DB取得配列をカスタマイズしたい。
古川敦史
agl @ violet.plala.or.jp
2003年 9月 11日 (木) 23:06:46 JST
古川@フリーランスです。
Thu, 11 Sep 2003 11:50:25 +0000 の
[PHP-users 17822] DB取得配列をカスタマイズしたい。
に関するメールにお答えします。
> いつもお世話になっております。きしかわです。
>
> 配列に関して質問です。
> DBから取得したデータが以下の配列に入っているとします。
>
> $aDbData[0]["A_id"]="A001";
> $aDbData[0]["B_id"]="B001";
>
> $aDbData[1]["A_id"]="A001";
> $aDbData[1]["B_id"]="B002";
>
> $aDbData[2]["A_id"]="A002";
> $aDbData[2]["B_id"]="B003";
>
> $aDbData[3]["A_id"]="A002";
> $aDbData[3]["B_id"]="B004";
>
> $aDbData[4]["A_id"]="A003";
> $aDbData[4]["B_id"]="B005";
>
> $aDbData[4]["A_id"]="A003";
> $aDbData[4]["B_id"]="B006";
A_idをキーにした連想配列にB_idのデータをArray()にすればいいと思います。
サンプルが以下のとおり、
$aDbData[0]["A_id"]="A001";
$aDbData[0]["B_id"]="B001";
$aDbData[1]["A_id"]="A001";
$aDbData[1]["B_id"]="B002";
$aDbData[2]["A_id"]="A002";
$aDbData[2]["B_id"]="B003";
$aDbData[3]["A_id"]="A002";
$aDbData[3]["B_id"]="B004";
$aDbData[4]["A_id"]="A003";
$aDbData[4]["B_id"]="B005";
$aDbData[4]["A_id"]="A003";
$aDbData[4]["B_id"]="B006";
$bDbData = array();
for ($i=0; $i<count($aDbData); $i++) {
$bDbData[$aDbData[$i]["A_id"]][] = $aDbData[$i]["B_id"];
}
echo "<PRE>bDbData = ", var_dump($bDbData), "</PRE>\n";
以上、参考になれば
-- /Private
Furukawa Atsushi / 古川 敦史
E-Mail: agl @ violet.plala.or.jp
MOBILE: 090-6959-6225
FAX: 020-4622-3018
HomePage: http://www1.plala.or.jp/AGL/
PHP-users メーリングリストの案内