3

これがコードです。

<!DOCTYPE html>
<html>
<head><title>Numbers</title></head>
<body>
<form action="index.php" method="get">
<b>Numbers</b>
<br>
<textarea rows="12" cols="25" name="result" value="result"></textarea>
<br>
<input type="submit" value="Submit" name="submit">
</form>
</body>
</html>

<?php
$result=$_GET["result"];
if (empty($_GET['result']))
{
echo '<p><font size="3" color="red">Field is Empty*</font></p>';
}
elseif (isset($_GET['result']))
{
$result=(explode("\n", $result));
}
{
echo count ($result);
echo "<br />";
echo array_sum($result);
}
?>

わかりましたので、割り当てのタスクのほとんどを取得する方法を理解しました。最後の 1 つは、filter_var などの同様のコードを使用して、送信された非数値値を出力することです。元。abc * & ! @

数値ではない無効な入力を印刷します。元。文字、記号。

助言がありますか?

4

1 に答える 1

0

$result 配列で以下のコードを使用して、目的の結果を得ることができます。

$oddArray = array();
$evenArray = array();
$skippedArray = array();

    foreach($result as $value)
   {
        if(is_numeric($value))
        {
           if($value%2 == 0)
           {
               $evenArray[] = $value;
           }
           else
           {
               $oddArray[] = $value; 
           }     
        }
        else
        {
            $skippedArray[] = $value;
        }   
} 

echo "Sum of odd values entered: ".array_sum($oddArray);
echo "Sum of even values entered: ".array_sum($evenArray);
echo "Skipped invalid values entered: ";
print_r($skippedArray);

上記がお役に立てば幸いです。

于 2013-10-27T08:58:14.617 に答える