2
나는 그것을 다시 필요로한다는 것을 알기 때문에 이것을 재사용 할 수 있도록 노력하고있다. 나는 그것을 어떻게 성취 할 것인지 궁금하다. 필요한 경우 $solr->addDocuments($bleh)
을 생략 할 수 있습니다.중첩 된 foreach를 클로저로 변환 하시겠습니까?
$solr = New SolrClient([
'hostname' => $config->Solr->hostname,
'wt' => $config->Solr->response,
'port' => $config->Solr->port,
'path' => $config->Solr->path,
]);
$docsArray = [];
foreach ($recordset AS $key => $array)
{
$docsArray[$key] = New SolrInputDocument();
foreach($array AS $id => $value)
$docsArray[$key]->addField($id, $value);
}
$solr->addDocuments($docsArray);
UPDATE
내가 재귀 내가 그와 함께 정착 할 수있는 Solr->addField($k, $v, $i);
에 다음을 추가하는 방법 (들)을 얻을 수 있다면! 여기서 핵심은 Solr 필드를 재귀 적으로 추가하는 것입니다.
[array_walk_recursive()] (http://www.php.net/manual/en/function.array-walk-recursive.php)? –
가 작동하지만 클로저가 아닐 수도 있습니다. +1 이하. – ehime
array_walk_recursive()는 클로저를 인수로 사용하며, 정확히 무엇을하고 있습니까? –