我收到一個未定義的變量和未定義的索引,我認爲isset()應該廢除。在這個例子中,我通過一個由個人名字和他們公司組成的數據庫進行閱讀。我想分開獨特的公司,所以我知道他們代表了多少次。以下是我期待它做的事情:未定義的變量和PHP中的索引
- 打開數據庫,計算條目,加載表中的第一行。
- 'for'循環內的第一個'if'查看是否存在具有公司名稱散列值的$ comp變量。如果是這樣,增加計數
- 如果$ comp變量未設置,這是我第一次看到這家公司,所以去'其他'。
然而,isset()函數似乎並不奏效,因爲PHP仍然扔我注意到有關該行的代碼和我的變量和指標沒有定義。
$r1Q = mysql_query("SELECT * FROM totals", $db);
$r1C = mysql_num_rows($r1Q);
$r1 = mysql_fetch_array($r1Q);
$title = "Companies Most Represented in DB";
printf("
<div class=\"content\">
<h2>%s</h2>
<center>
<table border=1 bgcolor=#ffffff>
<tr bgcolor=#cc9933>
<th width=150>Company</th>
<th width=50>Times</th>
</tr>
", $title);
// loop through 1 time for each entry in the db
for($j=0;$j<$r1C;$j++) {
$company = $r1[4];
// have i seen this company before?
if(isset($comp[$company])) {
$cnt[$company]++;
$cnt1[$company]++;
}
else {
$comp[$company] = $r1[4];
$cnt[$company] = 1;
$cnt1[$company] = 1;
}
「那行代碼」是......什麼?對於這個問題,錯誤信息的內容是什麼? – Sammitch
我沒有看到你創建$ comp數組的地方。上面有更多的代碼嗎? – larsAnders
對不起,「那行代碼」是帶有「if(isset())」的行。如果您在下面的其他帖子上看到我的評論,我現在已經定義了數組,但我仍然收到有關未定義變量的通知。如果我只是簡單地關閉通知('error_reporting(E_ALL^E_NOTICE);'),則頁面打印正常。 – milnuts