array

1 отговора 0 прегледа
#1

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-ли колото ще са ми елементите няма грешка/

Дайте идея как да избегна съобщението, без да изключвам извеждането на грешки

Отговор
в отговор на marsito #2

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

Отговор