さまざまなサイト リンクを含む多次元配列があります。出力は次のとおりです。
Array
(
[0] => Array
(
[0] => http://www.msn.com/etc
[1] => http://www.yahoo.com/etc
[2] => http://www.google.com
)
[1] => Array
(
[0] => http://www.abc.com/etc
[1] => http://www.hotmail.com/etc
[2] => http://www.hotmail.com/page/2
)
[2] => Array
(
[0] => http://www.live.com/etc
[1] => http://www.google.com/etc
[2] => http://www.stock.com
)
)
複数の URL を照合したいのですが、ここに私のコード例を示します。
$sites = array("msn.com","hotmail.com","live.com");
$links = array(
array("http://www.msn.com/1","http://www.yahoo.com/etc","http://www.google.com"),
array("http://www.msn.com/2","http://www.hotmail.com/","http://www.hotmail.com/page/2"),
array("http://www.live.com/etc","http://www.google.com/etc","http://www.stock.com")
);
$sites にあるすべてのサイトが必要です。最初に $links 配列から msn.com サイトを見つけるので、最初の配列 ($links[0]) で msn.com が見つかった場合、他の $links で msn.com を検索しません。配列を検索しますが、他のもの (hotmail.com と live.com) を検索し続けます。1 つの配列に同じホストの 2 つのリンクが見つかった場合、それらを結合します。つまり、1 つの配列要素にホストが見つかった場合、そのホストは検索されません。 $links 配列の他の要素にあるため、上記の最終出力は次のようになります。
Array
(
[msn] => Array
(
[0] => http://www.msn.com/1
)
[hotmail] => Array
(
[0] => http://www.hotmail.com/
[1] => http://www.hotmail.com/page/2
)
[live] => Array
(
[0] => http://www.live.com/etc
)
)
このタスクを実行する方法がわかりません。ご意見をお寄せいただければ幸いです。ありがとう