<?php
$t = "1#2#3#4#5#...#n";
//$t = "1#2#3#4#...#n";
$p = array( // 标准答案
 "/2#/",
 "/3#/",
 "/5#/",
 "/n#?/"
);
$r = array();
for($i=0;$i<count($p);$i++)
  $r[] = "y";$t = preg_replace($p,$r,$t);
$t = preg_replace("/[^y]+/","",$t);
echo "答对 ".strlen($t)."个";
?>

解决方案 »

  1.   

    to:xuzuning(唠叨) $t = preg_replace("/[^y]+/","",$t);
    这句是什么意思,没看懂,不好意思
      

  2.   

    $t = preg_replace($p,$r,$t); // 将答卷中的答对的题替换成"y"
    $t = preg_replace("/[^y]+/","",$t); // 删去答卷中不为"y"的部分,形成只含"y"的串
    echo "答对 ".strlen($t)."个"; // "y"的个数就是答对的个数