Отображается ошибка

deepfritz

Здравствуйте, подскажите как, убрать данное предупреждение? установлен php72-7.2.23

Код (Text):
  1. Warning: count(): Parameter must be an array or an object that implements Countable in /usr/local/www/utm-cabinet/library/Zend/Db/Table/Abstract.php on line 1309
Код (Text):
  1.         $whereList = array();
  2.         $numberTerms = 0;
  3.         foreach ($args as $keyPosition => $keyValues) {
  4.         //print_r($keyPosition);
  5. //        if (is_iterable($keyValues)){
  6. Ошибка в данной линии 1309—>             $keyValuesCount = count($keyValues);
  7.             //}
  8.             //print_r($keyValues);
  9.             // Coerce the values to an array.
  10.             // Don’t simply typecast to array, because the values
  11.             // might be Zend_Db_Expr objects.
  12.             if (!is_array($keyValues)) {
  13.                 $keyValues = array($keyValues);
  14.             //    print_r($keyValues);
  15.             }
  16.             if ($numberTerms == 0) {
  17.                 $numberTerms = $keyValuesCount;
  18.             } else if ($keyValuesCount != $numberTerms) {
  19.                 require_once ‘Zend/Db/Table/Exception.php’;
  20.                 throw new Zend_Db_Table_Exception(«Missing value(s) for the primary key»);
  21.             }
  22.             $keyValues = array_values($keyValues);
  23.             for ($i = 0; $i < $keyValuesCount; ++$i) {
  24.                 if (!isset($whereList[$i])) {
  25.                     $whereList[$i] = array();
  26.                 }
  27.                 $whereList[$i][$keyPosition] = $keyValues[$i];
  28.             //    print_r($i);
  29.             }
  30.         }
  31.  
  32.         $whereClause = null;
 

lastdays

Ну так $keyValues должен быть массивом или объектом, иначе зачем там count ?
Ну и посмотри, что у тебя вообще там лежит.

 

Sail

deepfritz

Для меня это очень сложно так как я человек не знающий язык php. Может подскажите как сделать так чтобы данное предупреждение не отображалось на веб странице?

 

MouseZver

В раздел сделай за меня

 

Sail

@deepfritz, кстати.
Сразу, увы, на комментарии внимания не обратил :( В том числе проверка на «итерируемость» закомментирована. Отсюда и ошибка.
В строке 12 выполняется проверка — является ли $keyValues и, если нет — создаётся массив.
Так что перенесите строку 6 между текущими 15 и 16. (Из кода, приведённого в первом сообщении)

 

deepfritz

@SailСпасибо, все заработало, предупреждение не появляется.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *