2013-08-31 56 views
0

我想從表單中獲取輸入並將其保存到php數組並打印該數組。有兩個文件即array.php和marks.php.I認爲我在搞靜態。請幫幫我!獲取此代碼的輸出

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]; 
     } 
    } 
} 

?> 
+0

$ _POST本身就是一個數組。爲什麼所有複雜的東西? –

+0

我覺得'

'比'好'
'。 (只是一種感覺:p) – Mageek

回答

0

聲明類的成員(方法或屬性)表示該值是直接訪問從類定義並執行不必實例化。相反,靜態成員不能從實例化中訪問。 即 監守你聲明的索引和標記爲靜態

SaveMarks :: $指數或SaveMarks :: $標記是好的

但 $ svtoarray =新SaveMarks(); $ svtoarray->指數和$ svttoarray->標記是不行的

PHP manual for static keyword

而不是「靜態」你應該聲明爲「公共」是從實例化對象訪問。 更爲「純粹」的實現是將商標聲明爲私有,並定義公共「setMarks」方法,而不是直接修改屬性。