array
1 отговора
0 прегледа
array
$sum_act = array();
$k = 0;
while ($act = mysql_fetch_array($r)) {
$rs = mysql_query('SELECT count(id) ....);
$br = mysql_fetch_row($rs);
echo $act['details'].' - '.$br[0].'
';
$sum_act[$k] = $sum_act[$k] + $br[0];
$k++;
}
Дава ми грешка: PHP Notice: Undefined offset: хх
Мисля, че това е от $sum_act = array(); /че е празен, но аз не знам колко ще са елементите /
Като напиша $sum_act = array(0,0,0,0); /т.е. напълня масива с точно толкова 0-ли колото ще са ми елементите няма грешка/
Дайте идея как да избегна съобщението, без да изключвам извеждането на грешки
$k = 0;
while ($act = mysql_fetch_array($r)) {
$rs = mysql_query('SELECT count(id) ....);
$br = mysql_fetch_row($rs);
echo $act['details'].' - '.$br[0].'
';
$sum_act[$k] = $sum_act[$k] + $br[0];
$k++;
}
Дава ми грешка: PHP Notice: Undefined offset: хх
Мисля, че това е от $sum_act = array(); /че е празен, но аз не знам колко ще са елементите /
Дайте идея как да избегна съобщението, без да изключвам извеждането на грешки
Re: array
ми нормално пич, след като не ти е инициализирана например клетка 5 от масива (т.е. НЕ СЪЩЕСТВУВА ТАКАВА), как точно събираш клетка 5 (несъществуваща) с нещо друго??? Логично получаваш грешка...
в случай като твоя, можеш да направиш:
if (isset($sum_act[$k])) $sum_act[$k] = $sum_act[$k] + $br[0]; else $sum_act[$k] = $br[0];
вместо:
$sum_act[$k] = $sum_act[$k] + $br[0];
или по-краткия запис:
$sum_act[$k] = ((isset($sum_act[$k]))?$sum_act[$k]:0) + $br[0];
Just a genius
в случай като твоя, можеш да направиш:
if (isset($sum_act[$k])) $sum_act[$k] = $sum_act[$k] + $br[0]; else $sum_act[$k] = $br[0];
вместо:
$sum_act[$k] = $sum_act[$k] + $br[0];
или по-краткия запис:
$sum_act[$k] = ((isset($sum_act[$k]))?$sum_act[$k]:0) + $br[0];