如何回显爆炸阵列线

时间:2013-10-27 06:37:47

标签: php arrays filter-var

这是代码。

<!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);
}
?>

好的,所以我想出了如何完成我的大部分作业任务,而我最后的一个就是使用类似的代码(如filter_var)打印出提交的非数字值。防爆。 a b c *&amp; ! @

打印任何非数字的无效输入。防爆。信件,符号。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以在$ result数组&amp;上使用以下代码得到预期的结果:

$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);

我希望上面会帮助你。