PHP数组点和平均值之和
如果这是一个讨论过度的问题,请原谅我。我10天前开始自学php,我必须做一个练习。我已经通过几个来源阅读了相关文章,包括php手册。我没有太多的编程知识,所以我做的不太好。无论如何,我写在这里是因为我希望有人能解释我犯了什么错误,应该怎么做。所以要提前做好准备。这项工作是:PHP数组点和平均值之和,php,arrays,Php,Arrays,如果这是一个讨论过度的问题,请原谅我。我10天前开始自学php,我必须做一个练习。我已经通过几个来源阅读了相关文章,包括php手册。我没有太多的编程知识,所以我做的不太好。无论如何,我写在这里是因为我希望有人能解释我犯了什么错误,应该怎么做。所以要提前做好准备。这项工作是: 完成下面的PHP脚本,以便打印给定点的总和和平均值。点作为字符串发送到脚本,其中点用逗号分隔(例如4,5,2)。使用“分解”功能将点划分为一个数组。脚本的目的是打印用空格分隔的点。只写缺少的语句,不要在文本框中写整个程序。不
完成下面的PHP脚本,以便打印给定点的总和和平均值。点作为字符串发送到脚本,其中点用逗号分隔(例如4,5,2)。使用“分解”功能将点划分为一个数组。脚本的目的是打印用空格分隔的点。只写缺少的语句,不要在文本框中写整个程序。不完整的程序:
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
// Your code here
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
?>
Example output
Points were: 3 6 7 -2 0
Sum of points: 14
Average of points: 2.8
下面是我尝试过的:
<html>
<head>
<title>Online PHP Script Execution</title>
</head>
<body>
<?php
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
for ($i=0; $i<=$numberarray.length;$i++)
echo "points were:" ;
{ $points=$numberarray[$i];
$sum=$points+$sum;
echo $points;
};
echo "Sum of points: $sum\n";
while ($i!=0)
{$average=$sum/$i;
}
echo "Average of points: $average";
?>
</body>
</html>
在线PHP脚本执行
这样的东西不应该满足您的所有需求:
$string = $_GET['numbers'];
$numbers = array_map('intval', explode(',', $string));
$sum = array_sum($numbers);
$average = $sum / count($numbers);
array_map函数可以对数组中的所有元素执行另一个函数(这个函数确保您只处理整数值)。
尝试使用尽可能多的PHP函数;数组_sum()和count()。第一个计算数组中的所有元素,第二个计算数组中的元素数。
这两个函数结合起来可以为您生成平均值
在您的示例代码中,我可以看到($I=0;$I的
,这样的东西不应该满足您的需要吗:
$string = $_GET['numbers'];
$numbers = array_map('intval', explode(',', $string));
$sum = array_sum($numbers);
$average = $sum / count($numbers);
array_map函数可以对数组中的所有元素执行另一个函数(这个函数确保您只处理整数值)。
尝试使用尽可能多的PHP函数:array_sum()和count()。第一个函数将数组中的所有元素相加,第二个函数计算数组中的元素数。
这两个函数结合起来可以为您生成平均值
在您的示例代码中,我可以看到($I=0;$I的,您必须使用一些函数:
$points = implode(' ', $numberarray);
$sum = array_sum($numberarray);
$average = array_sum($numberarray) / count($numberarray);
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
for ($i=0; $i<=$numberarray.length;$i++)
要打印点,可以使用内爆(“”,$numberarray)
它将显示用空格分隔的点。(请参阅)
Sum可以通过函数获得:此函数计算数组中的值之和
$sum = array_sum($numberarray);
最后,通过以下代码可以得到平均值:
$average = array_sum($numberarray) / count($numberarray);
结果:
$points = implode(' ', $numberarray);
$sum = array_sum($numberarray);
$average = array_sum($numberarray) / count($numberarray);
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
for ($i=0; $i<=$numberarray.length;$i++)
关于您完成的代码:
$points = implode(' ', $numberarray);
$sum = array_sum($numberarray);
$average = array_sum($numberarray) / count($numberarray);
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
for ($i=0; $i<=$numberarray.length;$i++)
另外,您编写的echo”点是:;
介于for()
和{
之间。
您将得到一个致命错误。您必须在循环之前移动回音
echo "points were:" ;
for ( $i = 0 ; $i < count($numberarray) ; $i++ ) {
$points = $numberarray[$i];
$sum = $points+$sum; // You can also do $sum += $points;
echo $points." ";
}
最终的代码如下所示:
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
echo "Points were:" ;
for ( $i = 0 ; $i < count($numberarray) ; $i++ ) {
$sum += $numberarray[$i];
echo $numberarray[$i]." ";
}
echo "\n";
$average = $sum / count($numberarray);
echo 'Sum of points: '.$sum."\n";
echo 'Average of points: '.$average;
$numberstring=$\u GET['numberstring'];
$numberarray=爆炸(“,”,$numberstring);
回声“点分别为:”;
对于($i=0;$i
通过一些验证/优化进行编辑:
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
$cptElements = count($numberarray); // create a variable to not call count() multiple times.
if ( $cptElements )
{
$numberarray = array_map ('intval', $numberarray); // convert all values to int.
echo "Points were:" ;
for ( $i = 0 ; $i < $cptElements ; $i++ ) {
$sum += $numberarray[$i];
echo $numberarray[$i]." ";
}
echo "\n";
echo 'Sum of points: '.$sum."\n";
echo 'Average of points: '.($sum / $cptElements);
}
else
{
echo 'No points';
}
$numberstring=$\u GET['numberstring'];
$numberarray=爆炸(“,”,$numberstring);
$cptElements=count($numberarray);//创建一个变量以不多次调用count()。
如果($cptElements)
{
$numberarray=array_-map('intval',$numberarray);//将所有值转换为int。
回声“点分别为:”;
对于($i=0;$i<$cptElements;$i++){
$sum+=$numberarray[$i];
echo$numberarray[$i]。“”;
}
回音“\n”;
回显“点数总和:”.$Sum.“\n”;
回声“点的平均值:”。($sum/$cptElements);
}
其他的
{
回声“无点”;
}
您必须使用一些函数:
$points = implode(' ', $numberarray);
$sum = array_sum($numberarray);
$average = array_sum($numberarray) / count($numberarray);
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
for ($i=0; $i<=$numberarray.length;$i++)
要打印点,可以使用内爆(“”,$numberarray)
它将显示用空格分隔的点。(请参阅)
Sum可以通过函数获得:此函数计算数组中的值之和
$sum = array_sum($numberarray);
最后,通过以下代码可以得到平均值:
$average = array_sum($numberarray) / count($numberarray);
结果:
$points = implode(' ', $numberarray);
$sum = array_sum($numberarray);
$average = array_sum($numberarray) / count($numberarray);
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
for ($i=0; $i<=$numberarray.length;$i++)
关于您完成的代码:
$points = implode(' ', $numberarray);
$sum = array_sum($numberarray);
$average = array_sum($numberarray) / count($numberarray);
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
for ($i=0; $i<=$numberarray.length;$i++)
另外,您编写的echo”点是:;
介于for()
和{
之间。
您将得到一个致命错误。您必须在循环之前移动回音
echo "points were:" ;
for ( $i = 0 ; $i < count($numberarray) ; $i++ ) {
$points = $numberarray[$i];
$sum = $points+$sum; // You can also do $sum += $points;
echo $points." ";
}
最终的代码如下所示:
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
echo "Points were:" ;
for ( $i = 0 ; $i < count($numberarray) ; $i++ ) {
$sum += $numberarray[$i];
echo $numberarray[$i]." ";
}
echo "\n";
$average = $sum / count($numberarray);
echo 'Sum of points: '.$sum."\n";
echo 'Average of points: '.$average;
$numberstring=$\u GET['numberstring'];
$numberarray=爆炸(“,”,$numberstring);
回声“点分别为:”;
对于($i=0;$i
通过一些验证/优化进行编辑:
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
$cptElements = count($numberarray); // create a variable to not call count() multiple times.
if ( $cptElements )
{
$numberarray = array_map ('intval', $numberarray); // convert all values to int.
echo "Points were:" ;
for ( $i = 0 ; $i < $cptElements ; $i++ ) {
$sum += $numberarray[$i];
echo $numberarray[$i]." ";
}
echo "\n";
echo 'Sum of points: '.$sum."\n";
echo 'Average of points: '.($sum / $cptElements);
}
else
{
echo 'No points';
}
$numberstring=$\u GET['numberstring'];
$numberarray=爆炸(“,”,$numberstring);
$cptElements=count($numberarray);//创建一个变量以不多次调用count()。
如果($cptElements)
{
$numberarray=array_-map('intval',$numberarray);//将所有值转换为int。
回声“点分别为:”;
对于($i=0;$i<$cptElements;$i++){
$sum+=$numberarray[$i];
echo$numberarray[$i]。“”;
}
回音“\n”;
回显“点数总和:”.$Sum.“\n”;
回声“点的平均值:”。($sum/$cptElements);
}
其他的
{
回声“无点”;
}
使用此
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
echo "Points were: ".$numberstring;*/
echo "Sum of points: ".array_sum($numberarray );
echo "Average of points: ".array_sum($numberarray)/count($numberarray);
用这个
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
echo "Points were: ".$numberstring;*/
echo "Sum of points: ".array_sum($numberarray );
echo "Average of points: ".array_sum($numberarray)/count($numberarray);
给你
<?php
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
// Your code here
$sum = array_sum($numberarray);
$count_arr = count($numberarray);
$average = $sum/$count_arr;
$points = str_replace(',',' ', $numberstring);
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
?>
给你
<?php
$numberstring = $_GET['numberstring'];
$numberarray = explode(',',$numberstring);
// Your code here
$sum = array_sum($numberarray);
$count_arr = count($numberarray);
$average = $sum/$count_arr;
$points = str_replace(',',' ', $numberstring);
echo "Points were: $points\n";
echo "Sum of points: $sum\n";
echo "Average of points: $average";
?>
PHP在数组上没有length
属性。请使用count($array_此处)
。此外,对象(PHP中的类)属性是通过
而不是
访问的,并且您没有使用对象。在您的情况下,甚至不需要循环。您的PHP应该更像:
<?php
function array_average($ary){
return array_sum($ary)/count($ary);
}
if(isset($_GET['numberstring'])){
$number_string = $_GET['numberstring'];
$number_array = explode(',', $number_string);
echo 'points were:'.$number_string.'<br />'.
'sum of points:'.array_sum($number_array).'<br />'.
'average:'.array_average($number_array);
}
?>
PHP在数组上没有length
属性。请使用count($array\u此处)
。此外,对象(PHP中的类)属性是通过->
而不是
访问的,并且您没有使用对象。在