2016-01-23 75 views
0

因此,我正在製作一個網站,它會生成一個測驗和幾天的最後一天我面臨的錯誤: 注意:未定義偏移1 注意:未定義偏移2等等。 在第31行:注意:未定義偏移:PHP

$z = $id[$i]; 

這裏是代碼的其餘部分whic可能會有所幫助

for($i=0; $i<$liczba; $i++) { 
     $random = rand($i, $liczba) ; 
     do{ 
     $random = rand($i, $liczba) ; 
     if(in_array($random, $wylosowanieNR) == false) { 
      array_push($wylosowanieNR,$random) ; 
      array_push($wylosowanieR,$random) ; 
      break ; 
     } 
     }while(in_array($random, $wylosowanieNR) == false) ; 

} 
return $wylosowanieR ; 
} 
//code 
$id[] = losowanie($_POST['ilePytan']) ; 
//code 
$z = $id[$i]; 
        $zapytanie = "SELECT * FROM pytania WHERE id = '$z' "; 

另一個錯誤是:

Notice: Array to string conversion at line 37 : 
$zapytanie = "SELECT * FROM pytania WHERE id = '$z' "; 

請幫助。我試圖修復這個錯誤已經5天了。請幫忙

+0

這是一個「通知」,而不是一個錯誤。原因很明顯:您嘗試訪問數組「$ id」中不存在的元素。 – arkascha

+0

Array to string notice意味着$ id [$ I]不是字符串 – devpro

+0

@arkascha然後錯誤信息可能不明顯,因爲您的描述顯然不正確。這是說'數組字符串轉換''[']'$'''''。含義'$ z'可能包含一個數組而不是預期的字符串。 (並且通知是PHP中的錯誤級別,仍然值得修復) –

回答

0

根據您的IST通知:

losowanie功能就會返回一個數組,你又分配到一個數組作爲的$ id這個[]這應該是這樣的:

$id = losowanie($_POST['ilePytan']); 

監守你的第二個通知是非常明確的數組到字符串轉換您正在使用一個數組作爲字符串。這意味着上述線將解決問題。

0

你的代碼片段並不完整,但我想最上面的部分是功能losowanie()。如果是這樣的情況下,錯誤是在這一行:

$id[] = losowanie($_POST['ilePytan']) ; 

您的結果陣列添加到陣列$id,以便它包含是一個數組的單個元素。我不認爲你想要這個。

$id = losowanie($_POST['ilePytan']) ; 

應該解決這個問題。

相關問題