我正在完成我的作业,你输入长度和宽度最多3次,并比较哪一个是最大的。
这项任务要求我拥有3个dffierent php文件。第一个用于main(输入和输出),第二个用于获取Area,Diagonals,perimeters,length和width,以及Last(rectanglecompare.php文件),用于比较哪些输入数据具有最大结果。
以下是为类' Rectangle'创建一个Array对象。写在main.php上
$ArRec = array();
for ($i=0; $i<count($_REQUEST["length"]); $i++){
$length = $_REQUEST ["length"][$i];
$width = $_REQUEST ["width"][$i];
$ArRec[$i]=new Rectangle($length, $width);
}
此行为类创建一个对象&quot;比较&#39;与矩形的数组对象。然后以下几行是我在调用结果值时遇到问题的地方。
$compareObj = new compare($ArRec);
// op是输入类型的名称&#34; chekbox&#34;
$op = $_REQUEST['op'];
$out="";
for ($i=0; $i<count($op);$i++){
switch($op[$i]){
case "LargestArea":
$resObj = $compareObj->largestArea();
foreach ($resObj as $value){
$out = $out .
"Length: $value->getLength\n" .
"Width: $value->getWidth()\n" .
"Area: $value->findArea()\n\n";
}
// $ resObj = $ compareObj-&gt; largestArea();该物业的最大区域&#39;在课堂上比较&#39;返回一个数组变量&#39; $ ArRes&#39;,其中$ ArRes [] = $ this-&gt; ArRec [x] x是计算出的最大区域的索引号。
错误是 注意:未定义的属性:第56行的C:\ xampp \ htdocs \ as8 \ man.php中的Rectangle :: $ getLength
注意:未定义的属性:第57行的C:\ xampp \ htdocs \ as8 \ man.php中的Rectangle :: $ getWidth
注意:未定义的属性:第58行的C:\ xampp \ htdocs \ as8 \ man.php中的Rectangle :: $ findArea
我为我的写作和编码上的任何或许多混淆道歉,但我试图尽可能地了解它。我尝试了许多不同的方式来完成这项工作,但我已经绝望地寻求帮助。我是编码的初学者,甚至在搜索了w3schools和php.net之后也很难看。
以下是我的课程&#39;矩形&#39;
的简短版本<?php
class Rectangle{
private $length;
private $width;
public function __construct ($length, $width){
$this->length = $length;
$this->width = $width;
}
public function findArea(){
$area = $this->length * $this->width;
return $area;
}
public function getLength(){
return $this->length;
}
public function getWidth(){
return $this->width;
}
}
此课程具有“找到”的功能,findDiag&#39;但我编辑出来让它简短易读。它们的返回值与上面的其他格式相同。
最后一个问题。 (不要求编码结构)。代码工作正常,但我对此部分有点混淆。
$out="";
for ($i=0; $i<count($op);$i++){
switch($op[$i]){
case "LargestArea":
$resObj = $compareObj->largestArea();
$out = "Largest Area Rectangle(s)\n";
foreach ($resObj as $value){
//$value = $ArRec[x] = rectangle($length,$width)
$lengthy = $value->getLength();
$widthy = $value->getWidth();
$area = $value->findArea();
$out = $out .
"Length: $lengthy \n" .
"Width: $widthy \n" .
"Area $area \n\n";
}
break;
print <<< Here
<textarea rows="20", column="20">
$out
</textarea>
Here;
此编码结果给出:
最大周长矩形
长度:3 宽度:4 周长:14
长度:3 宽度:4 周长:14
我不能得到的是为什么线条最大的周长矩形&#39;曾经说过一次。我编写了一个变量的数字,并将它们放在与声明$ out的位置相同的位置(一个在forloop之外,另一个在forloop中具有不同的值),并且使用了forloop中的变量并重复多次,如Lengh,Width和周界。