Недавно я перенес свой модуль на Drupal7 (на PHP версии 5.3.1), и теперь я получаю следующие ошибки:
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->cacheGet() (line 354 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->cacheGet() (line 354 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->cacheGet() (line 354 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
Я также попробовал обновить другие модули и ядра до последних версий, упомянутых здесь http://drupal.org/node/1022736
объект 7.x-1.x-dev (2011-янв-24), просмотров 7.x-3.x-dev (2011-янв-22), Drupal core 7.x-dev (2011-янв-24), profile2 7.x-1.0-beta1, ссылки 7.x-2.x-dev (2011-янв-14), ctools 7.x-1.0-alpha2
Я не могу понять, что именно вызывает эту ошибку?
Edit:
Согласно http://php.net/manual/en/function.array-flip.php,
array_flip() возвращает массив в флип-порядке, т.е. ключи от trans становятся значениями и значениями из ключей trans становятся.
Обратите внимание, что значения trans должны быть действительными ключами, то есть они должны быть целыми или строковыми. Предупреждение будет выдано, если значение имеет неправильный тип, а пара ключей/значений не будет перевернуть.
Я сделал var_dump($ids);
перед строкой 178 в entity.inc($passed_ids = !empty($ids) ? array_flip($ids) : FALSE;
)
И мне кажется, что пара ключ/значение всегда в правильном формате (?).
array
0 =>
array
'nid' => string '6' (length=1)
array
0 =>
array
'uid' => string '1' (length=1)
array
0 => string '0' (length=1)
array
0 =>
array
'nid' => string '7' (length=1)
array
0 =>
array
'nid' => string '4' (length=1)
array
0 =>
array
'nid' => string '8' (length=1)