2013-12-20 27 views
1

我遇到了一個來自array_diff語句的奇怪錯誤。該聲明是:array_diff在drupal中給出數組轉換錯誤

$query = array_diff($params, array('f' => array()));

$paramsvar_dumparray(1) { ["f"]=> array(0) { } }

這種情況稱爲Islandora_solr_search一個Drupal模塊中,我得到了以下錯誤消息兩次類似下面

公告:在IslandoraSolrResults-> setBreadcrumbs()中的數組到字符串轉換(/var/www/drupal/sites/all/modules/islandora_solr_search/includes/results.inc的第427行)。

注意:在IslandoraSolrResults-> setBreadcrumbs()中的數組到字符串轉換(/var/www/drupal/sites/all/modules/islandora_solr_search/includes/results.inc的第427行)。

有誰知道爲什麼會發生這種情況?

回答

2

array_diff在數組中發現數組時發出通知錯誤。看到comment by Michiel Thalen

我可能會認爲你運行的是php 5.4或更高版本。你可以自己看到它,通過在sandbox檢查您和array_diff聲明(你可以切換有PHP版本)

還有在Drupal forums

的討論作爲一個的quickfix我的建議是:

$query = @array_diff($params, array('f' => array())); 

如果你打算在深度數組中使用array_diff函數,網上有很多解決方案,包括官方的php.net資源。