配列の問題。

WBOY
WBOYオリジナル
2016-06-23 13:58:25974ブラウズ

コードは次のとおりです

foreach ($url as $val){	if ($netbot->fetchlinks($val)){		$urlarray[] = $netbot->results;	}else{		echo "error :".$netbot->error;		exit;	}}


ここでの $url はアドレスを格納するための配列です
スヌーピーのメソッド $netbot->fetchlinks($val) を使用して、この URL のすべてのリンクを取得します
次に、すべてのリンクを配列に入れる

$netbot->results は 1 次元の配列を返します

ここでの問題は次のとおりです: $urlarray[] = $netbot->results; この方法で代入すると、次のようになります。多次元配列

内部のリンクは最初にアクセスした URL のリンクのみです



この $urlarray 添字を自動的に転送したいです
2 番目の URL を取得するとき、値を割り当てるときに継承できます。上記の添え字は、 $urlarray を 1 次元配列に変換します。

これを実装するにはどうすればよいですか?

if 条件でリサイクルしますか? as $v) {
$urlarray[] = $v; }

$netbot->fetchlinks($val) が失敗した後に終了しました

$netbot->fetchlinks($val) が取得した結果に関係なく、 $url $val は再度リンクをフェッチする機会がありません
したがって、終了せずにループを継続する必要があります

毎回リンクをフェッチする URL は $urlarray に保存され、後続の検索には参加しません
したがって、最大でも、 $url のトラバーサルが終了しました。この方法で取得できるのは、$url に存在する可能性のあるすべての第 1 レベルの接続です

ニーズに応じて、取得した接続を詳しく追跡する必要があるようです

$netbot->results が 1 つであると仮定します接続の -次元配列 、名前
for($i=0; $i

  if ($netbot->fetchlinks($val)){ //如果有链接    $url = array_merge($url, $netbot->results); //就将连接加入搜寻队列  }}



Break と exit を間違えましたか?



ポスターはあきらめましたか?
if の最初の条件で再循環する必要がありますか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。