随机单词生成卡在PHP中的同一个单词上

时间:2016-09-02 19:42:47

标签: javascript php

嘿伙计我是PHP的新手,我想创建一个从文本文件中获取随机单词的页面,这里是代码:

<?php
$chosen="Word";
function get(){
    $lines= file ("words.txt");
    $words=count($lines);
    $chosen=$lines[rand(0 ,$words - 1)];
    return $chosen;
}
?>

然后我从JS调用它:

word = <?php echo json_encode(get()); ?>;
document.getElementById("button").innerHTML = word

我得到的问题是该函数第一次返回一个随机单词,但在此之后它反复出现完全相同的单词。

1 个答案:

答案 0 :(得分:1)

如果PHP能够生成你的JS代码并且你不想弄乱AJAX那么试试这个:

<强>的index.php

<script>
// Get PHP to create a JS array
var all_words = <?php echo json_encode(file("words.txt")); ?>;

// Create a JS function to fetch a random word
function get_word(){
    // Don't go out of bounds and return a word
    return all_words[Math.floor((Math.random() * (all_words.length - 1)) + 1)];
}

// Call the function and enjoy :)
document.getElementById("button").innerHTML = get_word();
</script>