我有一個config.php
文件,它有一些常量和方法。
我有一個test.php
文件,它調用config.php
中的一種方法。
相關的代碼是:PHP的數組不會評價
$Questions = array(
1 => "Is he/she nice?1",
2 => "Is he/she sweet?2",
3 => "Is he/she nice?3",
4 => "Is he/she sweet?4",
5 => "Is he/she nice?5",
6 => "Is he/she sweet?6",
7 => "Is he/she nice?7",
8 => "Is he/she sweet?8",
9 => "Is he/she nice?9",
10 => "Is he/she sweet?10"
);
function PrintAnswersOnMe($uid)
{
$uid = antiSQLi($uid);
$query = "SELECT * FROM AnsAns WHERE fid='".$uid."'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$rrr = $row[2];
echo $Questions[1];
echo $rrr . ' ' . $Questions[$rrr];
echo "You'r friend <img src='http://graph.facebook.com/".$row['uid']."/picture/' /> answered " . (($row['answer'] == 1) ? "yes" : "no") . " about wether you're ". $rrr.": " . $Questions[$rrr];
echo "<br /> " . $Questions['2'] . "<br/>";
}
}
的test
文件只要求PrintAnswersOnMe
。 (它包含它)
一切工作文件,excpet那沒有$Question[...]
評估到實際的HTML輸出!
要檢查,我已經添加了$Questions[2]
- 還有$Questions['2']
- 並且它們都沒有生成HTML輸出。循環會執行,因爲其他所有內容都會轉到HTML。
有趣的是,它內部的test.php
它的工作原理 - echo $Questions[...]
實際上是產品到HTML輸出。有人對這種神祕的行爲有任何想法嗎?
你在哪裏定義$問題?在包含的文件中,還是在調用腳本?如果它在include中定義,我相信它不在調用PrintAnswersOnMe()的範圍內 – ernie 2012-07-31 23:32:30
該變量超出函數的範圍。 http://php.net/manual/en/language.variables.scope.php進一步閱讀 – pbond 2012-07-31 23:36:50
老兄,請獲取一些_basic_ PHP知識。 http://www.php.net/manual/en/language.variables.scope.php – CBroe 2012-08-01 09:04:31