得到这个PHP代码的输出

时间:2013-08-31 16:32:16

标签: php

我想从表单中获取输入并将其保存到php数组并打印数组。有两个文件,即array.php和marks.php。我想我正在搞乱static.please帮助我!

marks.php

<style type="text/css">
.my_table{
margin-top:150px;
margin-left:400px;
}
</style>
<?php
if(!isset($_POST['send'])){
?>
<table  align='center' class='my_table'>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<tr><th></th><th align='left'>Student Marks</th></tr>
<tr><td>enter subject</td><td><input type='text' name='subject'></td></tr>
<tr><td>enter marks</td><td><input type='text' name='marks'></td></tr>
<tr><td colspan='2' align='right'><input type='submit' value='submit' name='send'/>       </td></tr>
</form>
</table>
<?php
}
else{
    include 'array.php';
    $svtoarray=new SaveMarks();
$svtoarray->addToArray($_POST['marks']);
    $svtoarray->printArray();
    }
?>

array.php

<?php
class SaveMarks{
static $index=0;
function SaveMarks(){
    }
static $marks=array();
function addToArray($value){
    $marks[$index]=$value;
    $index++;
    }

function printArray(){
    $countarr=count($marks);
    for($ind=0;$ind<$countarr;$ind++){
        print $marks[ind];
        }
    }
}

?>

2 个答案:

答案 0 :(得分:0)

声明类成员(方法或属性)意味着可以直接从类定义访问该值,而不必实例化该值。相反,无法从实例化访问静态成员。 即 因为你宣称索引和标记为静态

SaveMarks :: $ index或SaveMarks :: $ marks可以

但 $ svtoarray = new SaveMarks(); $ svtoarray-&gt; index和$ svttoarray-&gt;标记不合适

请参阅PHP manual for static keyword

而不是“静态”,您应该将它们声明为“公共”,以便可以从实例化对象访问。 更“纯粹”的实现是将标记声明为私有并定义公共“setMarks”方法,而不是允许直接修改属性。

答案 1 :(得分:0)

$array = $_POST;

看起来如何?