-4

重複の可能性:
Foreach ループのみを使用して多次元配列を出力する
複数の連想配列を単一の連想配列にマージする

さまざまなページからのスクレイピング リンクをループし、それらをさまざまなキーを持つ配列に配置するスクリプトがあります。ここで、スクリプトがすべての最終リンクをリストにエコーするようにします。今のところ、これを行う唯一の方法は次のとおりです。

foreach($matches[0][1] as $match) {
   echo "$match<br />";
}

foreach($matches[1][1] as $match) {
  echo "$match<br />";
}

foreach($matches[2][1] as $match) {
  echo "$match<br />";
}

配列キーごとに foreach ループを実行する必要がない場合、どうすればそれを行うことができますか。何かのようなもの

foreach($matches[ALL][1] as $match) {
}
4

2 に答える 2

1

これはうまくいきます

foreach($matches as $var)
{
  foreach($var[1] as $match)
  {
    echo "$match<br />";
  }
}
于 2012-11-10T21:45:19.253 に答える
1

単純:

foreach($matches as $match) {
  foreach($match[1] as $m) {
    echo $m . "<br />";
  }
}

それだけです。最初のレベルの配列 ( $matches) を反復処理し、値を取得します。これらの値も配列であるため、[1]アイテムにアクセスできます。

最初の配列のインデックスが必要な場合は、ループを次のように変更します。

foreach($matches as $k => $match) {
  foreach($match[1] as $m) {
    echo $k . ": " . $m . "<br />";
  }
}

それが役に立ったことを願っています!

于 2012-11-10T21:49:59.307 に答える