检查 PHP 中的质数时遇到问题

Encounter issues when checking prime number in PHP

<?php
   if (isset($_GET['number'])){ // Loaded for first time?
       if(isValid($_GET['number'])){    
          $isPrime = true;
          // Please enter code here

          // I have tried the codes here but idk why it cannot seem to work 
          $i = $_GET(['number']);
          if ($number == 1) {
            $isPrime = false;
            return $isPrime;
         }
         for ($j = 2; $i <= $number/2; $i++){ 
            if ($number % $i == 0) 
            $isPrime = false;
            return $isPrime;
        } 
        return $isPrime; 

        // End of code

        if ($isPrime) {      
            echo "<p>".$i." is a prime number!</p>";        
        } else {
            echo "<p>".$i." is not prime.</p>";
        } 
        
    } else{
        // User submitted something which is not a positive whole number 
        echo "<p>Please enter a positive whole number.</p>";    
    }
 }

// check if the given number is a valid numeric value
// round() rounds a floating point value
 function isValid($number) {
    if(is_numeric($number) && $number > 0
            && $number == round($number, 0)) {
         return true;
   } 
   else {
       return false;
   }
 }
?>

我试过上面的代码,但是,我遇到了问题。请帮帮我谢谢!我试过的代码在 // Please enter code here to // End of code

当我 运行 php 文件时,将显示上图。用户必须输入一个数字,当用户点击“开始!”时,它会检查用户输入的是否是质数。按钮。

你有很多错误。 所以我编辑了整个代码。

这里是:

<?php
if (isset($_GET['number'])) { // Loaded for first time?
    if (isValid($_GET['number'])) {
        $isPrime = true;
        // Please enter code here
        
        // I have tried the codes here but idk why it cannot seem to work
        $i = $_GET['number'];
        if ($i == 1) {
            $isPrime = false;
        }
        
        for ($j = 2; $j <= $i / 2; $j++) {
            if ($i % $j == 0)
                $isPrime = false;
        }
        
        // End of code
        
        if ($isPrime) {
            echo "<p>" . $i . " is a prime number!</p>";
        } else {
            echo "<p>" . $i . " is not prime.</p>";
        }
        
    } else {
        // User submitted something which is not a positive whole number
        echo "<p>Please enter a positive whole number.</p>";
    }
}

// check if the given number is a valid numeric value
// round() rounds a floating point value
function isValid($number)
{
    if (is_numeric($number) && $number > 0
        && $number == round($number)) {
        return true;
    } else {
        return false;
    }
}

?>

<form action="index.php" method="get">
    <input type="number" name="number">
    <input type="submit" value="Go!">
</form>