0

いくつかの質問があるデータベースがあり、ページが開かれるたびに、更新されずに異なる順序で表示されます。

シャッフル、大丈夫です:

 function shuffle_keys( &$array ) {
    $keys = array_keys($array);

    shuffle($keys);
    foreach($keys as $key) {
        $new[$key] = $array[$key];
    }

    $array = $new;   
} 

データベースからの値で配列をシャッフルして出力します。

shuffle_keys($array_questions); 
foreach( $array_questions as $key => $val ) {
    $key_value = ++$key;
    echo "<a href = '?id=$val'>".$key_value."</a> ";
}

ちょうど今、シャッフルが異なるたびに更新すると、最初にページを開いたときだけこのようにしたい.

4

3 に答える 3

0

目的のために静的変数を使用できます。以下のようにクラスを作成するだけです。

class Base {

    protected static $variable = 0;
}

class child extends Base {

    function set() {

        self::$variable = 1; // let say 1 = 'sorted'
    }

    function show() {

    echo(self::$variable);
    }
}

サイトに入ると、

オブジェクトを作成して変数を設定し、メソッドを呼び出します

$c1 = new Child();
if($c1->show() == 0)
{
    // sort your array here and set the static flag to sorted(1)

    $c1->set();
}

この助けを願って...

于 2013-07-12T08:57:40.717 に答える