Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组点和平均值之和_Php_Arrays - Fatal编程技术网

PHP数组点和平均值之和

PHP数组点和平均值之和,php,arrays,Php,Arrays,如果这是一个讨论过度的问题,请原谅我。我10天前开始自学php,我必须做一个练习。我已经通过几个来源阅读了相关文章,包括php手册。我没有太多的编程知识,所以我做的不太好。无论如何,我写在这里是因为我希望有人能解释我犯了什么错误,应该怎么做。所以要提前做好准备。这项工作是: 完成下面的PHP脚本,以便打印给定点的总和和平均值。点作为字符串发送到脚本,其中点用逗号分隔(例如4,5,2)。使用“分解”功能将点划分为一个数组。脚本的目的是打印用空格分隔的点。只写缺少的语句,不要在文本框中写整个程序。不

如果这是一个讨论过度的问题,请原谅我。我10天前开始自学php,我必须做一个练习。我已经通过几个来源阅读了相关文章,包括php手册。我没有太多的编程知识,所以我做的不太好。无论如何,我写在这里是因为我希望有人能解释我犯了什么错误,应该怎么做。所以要提前做好准备。这项工作是:


完成下面的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中的类)属性是通过
->
而不是
访问的,并且您没有使用对象。在