右に表示される "タグ","Tags"が本来はその都度、ランダムに入れ替わる(シャッフルされる)筈なのに固定されたまました。
array_rand()で処理してるのですが、動いてない...
調べたところ、
5.2.10 結果の配列のキーがシャッフルされなくなりました。
http://www.php.net/manual/ja/function.array-rand.php
shuffle()関数を使いましたら、思うように ヽ(^◇^*)/ ワーイ
#
####--- Open ------------------------
#/inc/Utils.php
#
##--- Find ------------------------
# About Line231public static function shuffleData($data)
{
$shuffled_data = array();
if (is_array($data)) {
if (count($data) > 1) {
$randomized_keys = array_rand($data, count($data));#
#--- Replace With ------------------------
#
public static function shuffleData($data)
{
$shuffled_data = array();
if (is_array($data)) {
if (count($data) > 1) {
$randomized_keys = array_keys($data);
shuffle($randomized_keys);
#################################
また、以下のコードの方が単純です
#
###--- OPEN ---------------------
#/inc/Tags.php
#
## --- Find ---------------------
# About Line108$numberOfItems = $limit ? PMF_TAGS_CLOUD_RESULT_SET_SIZE : $this->db->num_rows($result);
if (isset($allTags) && ($numberOfItems < count($allTags))) {
$keys = array_keys($allTags);
for ($n = 0; $n < $numberOfItems; $n++) {
$valid = false;
while (!$valid) {
$rand = array_rand($keys);
if (isset($allTags[$rand])) {
$valid = true;
$tags[$rand] = $allTags[$rand];
unset($keys[$rand]);
}
}
}
} else {
$tags = PMF_Utils::shuffleData($allTags);
}#
## ---- Replase with -----------------
#$numberOfItems = $limit ? PMF_TAGS_CLOUD_RESULT_SET_SIZE : $this->db->num_rows($result);
if (isset($allTags) && ($numberOfItems < count($allTags))) {
$keys = array_keys($allTags);
shuffle($keys);
foreach($keys as $current_key) {
$tags[$current_key] = $allTags[$current_key];
}
$tags = array_slice($tags,0,$numberOfItems);
} else {
$tags = PMF_Utils::shuffleData($allTags);
}########################