he migrado recientemente mi módulo para Drupal7 (en PHP versión 5.3.1) y ahora estoy consiguiendo errores siguientes:array_flip(): ¡Solo se pueden voltear los valores de STRING e INTEGER! en DrupalDefaultEntityController-> load()
* 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).
también he intentado actualizar otros módulos y el núcleo a versiones más recientes que se han mencionado aquí http://drupal.org/node/1022736
entidad 7.x-1.x-dev (2011-ene-24), vistas 7.x-3.x-dev (2011-ene-22), el núcleo de Drupal 7.x-dev (2011-Jan-24), profile2 7.x-1.0-beta1, referencias 7.x-2.x-dev (2011-Jan-14), ctools 7.x-1.0- alpha2
¿No puedo averiguar qué está causando exactamente este error?
Editar:
Según http://php.net/manual/en/function.array-flip.php,
array_flip() devuelve una matriz en orden flip, es decir, llaves de trans convierten en valores y valores de claves trans convertido.
Tenga en cuenta que los valores de trans deben ser claves válidas, es decir, deben ser enteros o de cadena. Se emitirá una advertencia si un valor tiene el tipo incorrecto, y el par clave/valor en cuestión no se invertirá .
he hecho la var_dump($ids);
antes de la línea 178 en entity.inc ($passed_ids = !empty($ids) ? array_flip($ids) : FALSE;
)
Y parece a mí que par clave/valor es siempre en el formato correcto (?).
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)
¿Migró su módulo o sitio a drupal 7? si es un módulo personalizado, ¿dónde está el código? También debe intentar apagar los módulos hasta que las advertencias desaparezcan para reducirlo más. Algo está dando los parámetros incorrectos. –
Sí, he migrado mi módulo a Drupal 7. Pero el error está en el archivo entity.inc que es un archivo central de Drupal 7. –
En cuanto al resultado var_dump anterior: No, en el par clave/valor es * no * en formato correcto. La función array_flip puede voltear una matriz como 'matriz (0 => 'a')', pero no 'matriz (0 => matriz (0 => 'a'))' porque la matriz anidada debería convertirse en la clave de matriz . – marcvangend