0
누군가이 문제를 해결하는 방법에 대한 도움/조언을 제공한다면 정말 감사하겠습니다. 모든 집중적 인 목적을 위해 작동하는 메타베이스 엔진을 만들었지 만 코드가 꽤 파괴적입니다! 다음 코드는 searchEngineArray 객체 배열의 샘플 var_dump입니다. 각 검색 엔진의 결과를 배열에 저장하려고하지만 (A) 일종의 일반 루프에 있어야합니다. 한 검색 엔진이 결과를 반환하지 않으면 중단되지 않으며 (B). 추가 검색 엔진을 쉽게 수용 할 수 있습니다.배열의 개체 데이터에 액세스
object(BingSearch)[1]
private 'formatted_query' => string 'england' (length=7)
public 'search_results' =>
array
0 =>
array
'title' => string 'England - Wikipedia, the free encyclopedia' (length=42)
'url' => string 'http://en.wikipedia.org/wiki/England' (length=36)
'score' => int 30
1 =>
array
'title' => string 'BBC News - England' (length=18)
'url' => string 'http://www.bbc.co.uk/news/england/' (length=34)
'score' => int 28
2 =>
array
'title' => string 'The FA - The website for the English football association, The FA ...' (length=69)
'url' => string 'http://www.thefa.com/' (length=21)
'score' => int 26
object(BlekkoSearch)[2]
private 'formatted_query' => string 'england' (length=7)
public 'search_results' =>
array
0 =>
array
'title' => string '<strong>England</strong> - Wikipedia' (length=36)
'url' => string 'http://en.wikipedia.org/wiki/England' (length=36)
'score' => int 25
1 =>
array
'title' => string 'The official site of Visit <strong>England</strong> - The <strong>England</strong> Tourist Board' (length=96)
'url' => string 'http://www.enjoyengland.com/' (length=28)
'score' => int 23
2 =>
array
'title' => string 'Arts Council <strong>England</strong> - Arts Council' (length=52)
'url' => string 'http://www.artscouncil.org.uk/' (length=30)
'score' => int 21
object(EntirewebSearch)[3]
private 'formatted_query' => string 'england' (length=7)
public 'search_results' =>
array
0 =>
array
'title' => string 'Arts Council England | Arts Council' (length=35)
'url' => string 'http://www.artscouncil.org.uk/' (length=30)
'score' => int 20
1 =>
array
'title' => string 'Sport England ' (length=14)
'url' => string 'http://www.sportengland.org/' (length=28)
'score' => int 18
2 =>
array
'title' => string 'Bank of England ' (length=16)
'url' => string 'http://www.bankofengland.co.uk/' (length=31)
'score' => int 16
나는 어느 정도까지는 작동하지만, 실제로는 좋은 코드가 아닙니다. 현재 어떻게 작동하는지, 정보를 저장하는 좀 더 일반적인 방법을 만드는 방법에 대한 아이디어가 있습니까? 당신의 도움에 대한
public function storeResults($searchEnginesArray)
{
//The following is very bad
//$blekko_Array = "";
//$bing_Array = "";
//$entireweb_Array = "";
for($x=0; $x<sizeof($searchEnginesArray); $x++)
{
var_dump($searchEnginesArray[$x]);
/*switch ($searchEnginesArray[$x]->getEngineName()) {
case "Bing":
$bing_Array = $searchEnginesArray[$x]->getResults();
break;
case "Blekko":
$blekko_Array = $searchEnginesArray[$x]->getResults();
break;
case "Entireweb":
$entireweb_Array = $searchEnginesArray[$x]->getResults();
break;
default:
echo "Error: Unexpected Search Engine : ".$searchEnginesArray[$x]->getEngineName(). " Expects [Bing/Blekko/Entireweb]";
} */
}
덕분에, 이것은 매우 쉽게 나중에 결과를 정렬 할 것입니다. – shanahobo86