ホームページ > バックエンド開発 > PHPチュートリアル > PHP 配列の再帰的走査について少し理解する

PHP 配列の再帰的走査について少し理解する

WBOY
リリース: 2016-07-25 09:04:51
オリジナル
878 人が閲覧しました
  1. /**
  2. 説明: 配列
  3. */
  4. $arr = array (
  5. "1" => 'test',
  6. '2' => 'me',
  7. array (
  8. "3" => "ベイジ"、
  9. "4" => "zz" )、
  10. "45"、
  11. 配列 (
  12. "5" => "5"、
  13. "6" => " ewrwer"、
  14. "7" => "ssss"、
  15. 配列 (
  16. "8" => "ssd"、
  17. "9" => "bdex"
  18. )、
  19. "10"、
  20. "11"
  21. )
  22. );
  23. ?>
コードをコピー
次に、この配列を出力する再帰関数を作成します。

  1. /**
  2. 説明: 配列を再帰的に走査する
  3. リンク: bbs.it-home.org
  4. 日付: 2013/2/22
  5. */
  6. function RecursiveArr($patten, $array) {
  7. foreach ( $array as $value ) {
  8. if (is_array ( $value )) {
  9. $patten = $patten;
  10. RecursiveArr ($patten, $value );
  11. echo "

    " . ": " . "

    "
  12. / キーに値を割り当てた後、キーが更新される前に次のキーに移動する必要があります。 呼び出し例:
  13. RecursiveArr ( '-', $arr );
コードをコピーします

下の図の結果が表示されます。

上記の実行結果図からわかるように、いくつかのキーが重複していることがわかります。 違いと接続を比較するために、次にコードを見てみましょう。
/** 説明: 配列を再帰的に走査する リンク: bbs.it-home.org
日付: 2013/2/22

*/PHP 配列の再帰的走査について少し理解するfunction RecursiveArr($patten, $array) {

foreach ( $array as $value ) {
if (is_array ( $value )) {
$patten = $patten;
    RecursiveArr ($patten, $value );
  1. echo "

    " . ": " . "
    " . "

    " }
  2. ; // キーに値を割り当てた後、キーが更新される前に次の値に移動する必要があります
  3. }
  4. }
  5. コードをコピーします
  6. 上記のコードに前の再帰関数を追加した場合の実行結果の図は次のとおりです。
  7. 上の 2 つの結果の写真から何かがわかるはずです、親愛なる。
  8. 手順: next() 関数が foreach の if-else コード セグメントで使用されている場合、さまざまなレベルの順序を記録して追跡できます。 ただし、next() 関数が foreach の if-else コード セグメントの外側で使用される場合、順序はレベルを区別せずに直接増加します。 したがって、キー値を処理する必要がある場合は、ここでの変更に特別な注意を払う必要があります。そうしないと、弾丸のように飛んでしまう可能性があります...ハッ!

PHP 配列の再帰的走査について少し理解する

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート