Нотисы на неопределенный индекс массива

Lithium366

Новичок
Нотисы на неопределенный индекс массива

В следующем коде поостоянно поступают нотисы следующиего типа:

Notice: Undefined index: 1 in c:\program files\apache group\apache\htdocs\index.php on line 77

Notice: Undefined index: 4 in c:\program files\apache group\apache\htdocs\index.php on line 77

Как от них избавиться?

$BOOKS_COUNT = array();
while($row = mysql_fetch_object($result1)) {
$BOOKS_COUNT[$row->book_id]++;
}
 

SiMM

Новичок
PHP:
if (isset($BOOKS_COUNT[$row->book_id]))
     $BOOKS_COUNT[$row->book_id]++;
else $BOOKS_COUNT[$row->book_id]=1;
 

Crazy

Developer
Я скажу страшную вещь: а почему бы в данном конкретном случае не использовать @?
 

SiMM

Новичок
Да не такая уж вещь и страшная. Только боюсь, в итоге у данного индивидуума собака будет рыться не только в таких конструкциях ;)
 

SiMM

Новичок
Можно правда ещё извернуться следующим образом
PHP:
while($row = mysql_fetch_object($result1))
  inc($BOOKS_COUNT[$row->book_id]);

function inc(&$var){++$var;}
> а почему бы не считать сразу в запросе?
кстати, да :(
Задачу надо уточнять
 

Фанат

oncle terrible
Команда форума
потому же, почему и во всех других случаях:
работа с неинициализированными переменными, которые могут быть определены раньше в скрипте или прийти извне.

впрочем, в любом случае ему здесь нужен запрос с группировкой вместо этого мощного кода
 

Crazy

Developer
Если строкой выше написано:

Код:
$BOOKS_COUNT = array();
...то почему бы и нет. Вполне инициализировано. А если этого присваивания не было, то и приведенный выше код с isset особой пользы не принесет.

Нет?
 
Сверху