2016-11-20 4 views
0

配列から複数のスローガンを回転させるスクリプトを作成しています。私はarchieveしようとしている何配列 - 配列が同じ値を2回選択しないかどうかをチェック

function sloganrotator_sc() { 
    global $sloganrotator_options; 

    $sentences = $sloganrotator_options['slogans']; 
    $array = explode("\n", $sentences); 

    if (count($array) > 1) { 
     $randomize = array_rand($array); 
     $result = $array[$randomize]; 

     return $result; 
    } else { 
     return $sloganrotator_options['slogans']; 
    } 
} 
add_shortcode('slogan-rotator', 'sloganrotator_sc'); 

ページ1の値は2.

ページのと同じではありませんかどうかを確認することです。そうは次のようにそれは、ランダムな配列項目をピックアップし、それを表示します例:ページをリフレッシュする前に、値は 'Hello'でした。リフレッシュ後、値は 'Dogs'です。私はそれが同じアイテムを2度選んでいないかどうかをチェックしたい。このような

何か:私の悪い説明のための

if($array[$randomize] == $result) { 
    return 'Hold on, this one has already been shown!'; 
} 

申し訳ありませんが、それは説明するのは難しい...

+2

ユーザごとに?セッションごとに、サイトごとにdbテーブル –

+0

@ダゴンをユーザーごとに使用します。それはどのようにセッションで動作しますか? – Jerrald

+0

選択したテキストをセッションに格納します。次のページでそれがランダムピックと同じかどうかを確認してください。 –

答えて

0

変更この:これに

if($array[$randomize] == $result) { 
    return 'Hold on, this one has already been shown!'; 
} 

if(isset($_SESSION['check']) AND !empty($_SESSION['check']) AND $_SESSION['check'] == $result){ 
    return 'Hold on, this one has already been shown!'; 
} 
関連する問題