2013-12-20 5 views
1

array_diff 문으로 인해 이상한 오류가 발생했습니다.array_diff는 drupal의 Array to String 변환 오류를 나타냅니다.

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

$paramsvar_dump 이것은 Islandora_solr_search라는 드루팔 모듈에서 발생 array(1) { ["f"]=> array(0) { } }

내가

주의 사항 아래와 같이 두 번 다음과 같은 오류 메시지가 : 문이다 : 배열에서 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 이상을 실행 중이라고 가정합니다. 당신은 (당신이 거기 PHP 버전을 전환 할 수 있습니다)에 sandbox에 array_diff 문을 확인하여, 자신이 그것을 볼 수 있습니다

나는이 제안 quickfix으로 Drupal forums

에 대한 논의도있다 :

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

그리고 깊은 배열에 array_diff 함수를 사용할 경우 공식 php.net 리소스를 포함하여 그물에 많은 솔루션이 있습니다.