我一直有相當大的麻煩,試圖找出爲什麼我的數組沒有按預期工作。我在功能上使用的代碼與下面的代碼相同,但是在我的程序中它默默無聞,所以我編寫了一個使用相同類型數據和語法的獨立測試用例,並獲得了有關非法偏移類型的錯誤。PHP「警告:非法偏移類型在...」陣列問題讓我難住
Warning: Illegal offset type in <file location>\example.php on line 12
Warning: Illegal offset type in <file location>\example.php on line 16
這些指的是專門包含對「$ questions [$ question]」的引用的兩行。
<?php
$questions = array(
"訓読み: 玉"=>array("たま","だま"),
"訓読み: 立"=>array("たて","たち","たつ","たてる","だてる","だて"),
);
$question = $questions["訓読み: 立"];
if (is_array($questions[$question])){
$res = $questions[$question][0];
} else {
$res = $questions[$question];
}
echo $res;
?>
我想我只是超出了我的技能水平在這裏,因爲雖然我可以看到,指出「數組和對象不能被用作鑰匙上http://php.net/manual/en/language.types.array.php警告這樣做會導致一個警告:非法抵消類型。「,我看不出我在做什麼與在那個頁面上的例子#7有什麼不同。
我將不勝感激解釋,這將有助於我理解和解決我的問題。
預先感謝您!
謝謝你,這確實修復與特定代碼段的問題,並給了我一個小更深入地瞭解如何工作的。不幸的是,我原來遇到的較大的代碼仍然不起作用...... :(我會繼續挖掘它,看看我能否取得更多進展。 – 2010-12-18 00:24:40