phpのshuffle関数で一部の環境でランダムにならない件

2372 回閲覧 このエントリーをはてなブックマークする この記事のブックマークユーザー 永続的リンク2009/02/26 12:28:27 カテゴリ: PHP, PHP
スポンサード リンク
PHP




原因はよくわかってないんですが、
PHPでshuffleを使って配列の要素をランダムにしようとして一部の環境でランダムにならなかった・・・。


PHPバージョンは5.2.5。
CakePHP1.2で動いている。キャッシュはしていない。


bool shuffle ( array &$array )

この関数は、配列をシャッフル (要素の順番をランダムに) します。

注意: PHP 4.2.0 以降、 srand() または mt_srand() によりランダム数生成器にシードを与える必要はありません。これは、この処理が自動的に行われるためです。


なのでこれでいいはず。

$data = array('hoge','moge','koge','soge');
shuffle($data);
echo $data[0];

が自分の携帯で見たらあれ?かわらない。他のブラウザでは普通にランダムなんだけど。


ちなみに、4.2.0以降必要ないという処理を加てみると・・・

srand((double)microtime()*1000000);

ランダムになった!?

これは、携帯のせいじゃないよね・・・。

んーっと、何が悪いのかな。



関連サイト


 →ツイッターのフォローはこちら
スポンサード リンク
         

関連記事

↑ページ上部へ

アクセスカウンター

今日 : 11 昨日 : 2

ブログ内容

主にウェブ関係のことを書いてます。たまにブレイクダンスとか他のことも書いています。

プロフィール

MICK

MICKです。

1983年1月24日生まれ。ウェブの世界にいるのは、偶然のようで必然なのかも。

好きなこと :
 挑戦すること。物事に没頭すること。勉強すること。
嫌いなこと :
 自慢話を聞くこと。人の悪口を言うこと。

運営サイト

      

カテゴリ一覧

サイト広告

オススメの書籍とか

感想

紹介

色々

最近のコメント

最新記事

注目記事

人気記事

最近の人気記事

人気の記事

関連サイト

運営サイト

色々

最近のトラックバック