需要有关简单的Flash Card PHP脚本的帮助

时间:2016-10-11 17:02:05

标签: php

我正在尝试编写一个简单的PHP脚本,就像一组闪存卡。我想让脚本通过一个问题提示我(通过命令提示符),然后一旦我准备好,然后按Enter键它会显示答案。然后我点击Enter,它会显示下一个问题等等。

我已经编写了下面的脚本,但是当我第一次按Enter键时,它会一直通过数组,然后立即完成所有操作。我希望在每个问题和答案之间暂停输入。

greatArc()

1 个答案:

答案 0 :(得分:0)

您可以使用-a选项启动PHP,以便在交互式shell中获取它。然后,格式化你的问题/答案,如key =>数组中的值,以便能够检查输入答案是否良好。最后打开循环外的php://stdin

即。 :

user$ php -a
Interactive mode enabled

php > $handle = fopen("php://stdin", 'r');
php > $questionsandanswers = array(
php (     "What is 1 plus 1?" => 2,
php (     "What is 2 plus 2?" => 4,
php (     "What is... your favorite color?" => "Blue. Oh no... Red !"
php ( );
php > foreach ($questionsandanswers as $key => $value) {
php {     echo $key . "\n";
php {     $answer = fgets($handle);
php {     if ($answer == $value) {
php {         echo "Correct !\n";
php {     } else {
php {         echo "Wrong...\n";
php {     }
php { }
What is 1 plus 1?
2
Correct !
What is 2 plus 2?
4
Correct !
What is... your favorite color?
Green
Wrong...

玩得开心! =)

编辑

您也可以将脚本写入文件(Q_A_script.php):

<?php

$handle = fopen("php://stdin", 'r');

$questionsandanswers = array(
    "What is 1 plus 1?" => 2,
    "What is 2 plus 2?" => 4,
    "What is... your favorite color?" => "Blue. Oh no... Red !"
);

foreach ($questionsandanswers as $key => $value) {
    echo $key . "\n";
    $answer = fgets($handle);
    if ($answer == $value) {
        echo "Correct !\n";
    } else {
        echo "Wrong...\n";
    }
}

fclose($handle);

?>

并像命令行中的任何其他php脚本一样启动它:

php ./Q_A_script.php