-
-
/**
- 説明: 配列
- */
- $arr = array (
- "1" => 'test',
- '2' => 'me',
- array (
- "3" => "ベイジ"、
- "4" => "zz" )、
- "45"、
- 配列 (
- "5" => "5"、
- "6" => " ewrwer"、
- "7" => "ssss"、
- 配列 (
- "8" => "ssd"、
- "9" => "bdex"
- )、
- "10"、
- "11"
- )
- );
- ?>
-
-
コードをコピー
次に、この配列を出力する再帰関数を作成します。
-
/**
- 説明: 配列を再帰的に走査する
- リンク: bbs.it-home.org
- 日付: 2013/2/22
- */
- function RecursiveArr($patten, $array) {
- foreach ( $array as $value ) {
- if (is_array ( $value )) {
- $patten = $patten;
- RecursiveArr ($patten, $value );
- echo "
" . ": " . " "
- / キーに値を割り当てた後、キーが更新される前に次のキーに移動する必要があります。
呼び出し例:
-
-
-
-
-
- RecursiveArr ( '-', $arr );
コードをコピーします
下の図の結果が表示されます。
上記の実行結果図からわかるように、いくつかのキーが重複していることがわかります。
違いと接続を比較するために、次にコードを見てみましょう。
-
-
/** 説明: 配列を再帰的に走査する リンク: bbs.it-home.org 日付: 2013/2/22 */function RecursiveArr($patten, $array) { foreach ( $array as $value ) { if (is_array ( $value )) { $patten = $patten; RecursiveArr ($patten, $value ); - echo "
" . ": " . " " . " " }
- ; // キーに値を割り当てた後、キーが更新される前に次の値に移動する必要があります
- }
- }
-
-
- コードをコピーします
-
-
- 上記のコードに前の再帰関数を追加した場合の実行結果の図は次のとおりです。
-
-
- 上の 2 つの結果の写真から何かがわかるはずです、親愛なる。
-
- 手順:
next() 関数が foreach の if-else コード セグメントで使用されている場合、さまざまなレベルの順序を記録して追跡できます。
ただし、next() 関数が foreach の if-else コード セグメントの外側で使用される場合、順序はレベルを区別せずに直接増加します。
したがって、キー値を処理する必要がある場合は、ここでの変更に特別な注意を払う必要があります。そうしないと、弾丸のように飛んでしまう可能性があります...ハッ!
-
-
-
|