ついでなので「タグ一覧」も追加する
- December 18th, 2010
ついでなので、タグの一覧も表示できるようにしてみた。
やっぱり、リンク先はまだ無い...。
タグの配列は、カテゴリの配列と生成方法は似てるけど、「foreach文」が1つ多い。
正直なところ「foreach文」を3つも使うと、頭の回転が追いつかないダー。
<?php // 使用頻度によってタグをランク付け出来るようにする $tag_A = "tag1,tag2,tag3"; $tag_B = "tag1,tag3"; $arr_A = array("id"=>1, "tag"=>$tag_A, "val"=>"abc"); $arr_B = array("id"=>2, "tag"=>$tag_B, "val"=>"def"); $arr1 = array("a"=>$arr_A, "b"=>$arr_B); // この配列からタグを抜き取る $arr_tag = array("null"=>NULL); //タグの格納場所 $flag1 = "off"; $flag2 = "off"; foreach ($arr1 as $key => $value) { $arr2 = explode(",", $value["tag"]); // タグだけの配列を生成 foreach ($arr2 as $value2) { $flag1 = "off"; $flag2 = "off"; foreach ($arr_tag as $key3 => $value3) { if ($value2 == $key3) { $arr_tag[$key3] += 1; // 既存のタグなら値に1を足す $flag1 = "off"; $flag2 = "on"; } else if ($value3 == NULL) { $arr_tag = array($value2=>1); // 初回は配列を置き換える $flag1 = "off"; } else { $flag1 = "on"; } } if ($flag1 == "on" && $flag2 == "off") { $arr_tag[$value2] = 1; // 新規登録 } } } // 生成した配列の構造(たぶん...) $arr_tag = array("tag1"=>2, "tag2"=>1, "tag3"=>2); ?>
- December 18th, 2010