Запустить вложенный цикл для переноса данных в массив WordPress, ACF - PullRequest
0 голосов
/ 08 марта 2019

У меня проблема с многомерным массивом. В частности, у меня есть несколько вложенных циклов, которые принимают данные из ACF. Я хочу, чтобы данные этих циклов были сохранены в виде многомерного массива. Конкретно это мой код:

    <?php
$array_save=array();
if( have_rows('dtkpxd', 'option') ):
  while( have_rows('dtkpxd', 'option') ): the_row();
    //Begin dtkpxd
    if( have_rows('lnxd') ):
      while( have_rows('lnxd') ) : the_row();
        // Begin lnxd
        $tlnxd=get_sub_field('name_ln');
        if( have_rows('goth') ):
          while( have_rows('goth') ) : the_row();
            //   Begin goth      
            if( have_rows('gr_goth_1') ):
              while( have_rows('gr_goth_1') ) : the_row();
                $name_goth_1=get_sub_field('name_goth');
                if( have_rows('gr_gogia') ):
                  while( have_rows('gr_gogia') ) : the_row();
                    $name_gogia_xd_1_1=get_sub_field('gogia_1');
                    $pri_xd_1_1=get_sub_field('gigoi_1');
                    $name_gogia_xd_1_2=get_sub_field('gogia_2');
                    $pri_xd_1_2=get_sub_field('gigoi_2');
                    $name_gogia_xd_1_3=get_sub_field('gogia_3');
                    $pri_xd_1_3=get_sub_field('gigoi_3');
                    $name_gogia_xd_1_4=get_sub_field('gogia_4');
                    $pri_xd_1_4=get_sub_field('gigoi_4');                   
                  endwhile;
                endif;
              endwhile;
            endif;
            //end gr_goth_1
            if( have_rows('gr_goth_2') ):
              while( have_rows('gr_goth_2') ) : the_row();
                $name_goth_2=get_sub_field('name_goth');
                if( have_rows('gr_gogia') ):
                  while( have_rows('gr_gogia') ) : the_row();
                    $name_gogia_xd_2_1=get_sub_field('gogia_1');
                    $pri_xd_2_1=get_sub_field('gigoi_1');
                    $name_gogia_xd_2_2=get_sub_field('gogia_2');
                    $pri_xd_2_2=get_sub_field('gigoi_2');
                    $name_gogia_xd_2_3=get_sub_field('gogia_3');
                    $pri_xd_2_3=get_sub_field('gigoi_3');
                    $name_gogia_xd_2_4=get_sub_field('gogia_4');
                    $pri_xd_2_4=get_sub_field('gigoi_4');                   
                  endwhile;
                endif;
              endwhile;
            endif;
            //end gr_goth_2
            if( have_rows('gr_goth_3') ):
              while( have_rows('gr_goth_3') ) : the_row();
                $name_goth_3=get_sub_field('name_goth');
                if( have_rows('gr_gogia') ):
                  while( have_rows('gr_gogia') ) : the_row();
                    $name_gogia_xd_3_1=get_sub_field('gogia_1');
                    $pri_xd_3_1=get_sub_field('gigoi_1');
                    $name_gogia_xd_3_2=get_sub_field('gogia_2');
                    $pri_xd_3_2=get_sub_field('gigoi_2');
                    $name_gogia_xd_3_3=get_sub_field('gogia_3');
                    $pri_xd_3_3=get_sub_field('gigoi_3');
                    $name_gogia_xd_3_4=get_sub_field('gogia_4');
                    $pri_xd_3_4=get_sub_field('gigoi_4');                   
                  endwhile;
                endif;
              endwhile;
            endif;
            //end gr_goth_4
            //end goth
          endwhile;
        endif;
        //end lnxd
      endwhile;
    endif;
    //end dtkpxd
  endwhile;
endif;
?>

Я хочу, чтобы этот цикл хранил переменные данные в $ array_save, как это:

$array_save=array(
    '0'=> array(
        '0'=>$tlnxd,
        '1'=>array(
            '0'=>array(
                '0'=>$name_goth_1,
                '1'=>array(
                    '0'=>array(
                        '0'=>$name_gogia_xd_1_1,
                        '1'=>$pri_xd_1_1
                        ),
                    '1'=>array(
                        '0'=>$name_gogia_xd_1_2,
                        '1'=>$pri_xd_1_2
                        ),
                    '2'=>array(
                        '0'=>$name_gogia_xd_1_3,
                        '1'=>$pri_xd_1_3
                        ),
                    '3'=>array(
                        '0'=>$name_gogia_xd_1_4,
                        '1'=>$pri_xd_1_4
                        )
                    )
                ),
            '1'=>array(
                '0'=>$name_goth_2,
                '1'=>array(
                    '0'=>array(
                        '0'=>$name_gogia_xd_2_1,
                        '1'=>$pri_xd_2_1
                        ),
                    '1'=>array(
                        '0'=>$name_gogia_xd_2_2,
                        '1'=>$pri_xd_2_2
                        ),
                    '2'=>array(
                        '0'=>$name_gogia_xd_2_3,
                        '1'=>$pri_xd_2_3
                        ),
                    '3'=>array(
                        '0'=>$name_gogia_xd_2_4,
                        '1'=>$pri_xd_2_4
                        )
                    )
                ),
            '2'=>array(
                '0'=>$name_goth_3,
                '1'=>array(
                    '0'=>array(
                        '0'=>$name_gogia_xd_3_1,
                        '1'=>$pri_xd_3_1
                        ),
                    '1'=>array(
                        '0'=>$name_gogia_xd_3_2,
                        '1'=>$pri_xd_3_2
                        ),
                    '2'=>array(
                        '0'=>$name_gogia_xd_3_3,
                        '1'=>$pri_xd_3_3
                        ),
                    '3'=>array(
                        '0'=>$name_gogia_xd_3_4,
                        '1'=>$pri_xd_3_4
                        )
                    )
                )
            )
        ),
    '$i'=> array(
        '0'=>$tlnxd,
        '1'=>array(
            '0'=>array(
                '0'=>$name_goth_1,
                '1'=>array(
                    '0'=>array(
                        '0'=>$name_gogia_xd_1_1,
                        '1'=>$pri_xd_1_1
                        ),
                    '1'=>array(
                        '0'=>$name_gogia_xd_1_2,
                        '1'=>$pri_xd_1_2
                        ),
                    '2'=>array(
                        '0'=>$name_gogia_xd_1_3,
                        '1'=>$pri_xd_1_3
                        ),
                    '3'=>array(
                        '0'=>$name_gogia_xd_1_4,
                        '1'=>$pri_xd_1_4
                        )
                    )
                ),
            '1'=>array(
                '0'=>$name_goth_2,
                '1'=>array(
                    '0'=>array(
                        '0'=>$name_gogia_xd_2_1,
                        '1'=>$pri_xd_2_1
                        ),
                    '1'=>array(
                        '0'=>$name_gogia_xd_2_2,
                        '1'=>$pri_xd_2_2
                        ),
                    '2'=>array(
                        '0'=>$name_gogia_xd_2_3,
                        '1'=>$pri_xd_2_3
                        ),
                    '3'=>array(
                        '0'=>$name_gogia_xd_2_4,
                        '1'=>$pri_xd_2_4
                        )
                    )
                ),
            '2'=>array(
                '0'=>$name_goth_3,
                '1'=>array(
                    '0'=>array(
                        '0'=>$name_gogia_xd_3_1,
                        '1'=>$pri_xd_3_1
                        ),
                    '1'=>array(
                        '0'=>$name_gogia_xd_3_2,
                        '1'=>$pri_xd_3_2
                        ),
                    '2'=>array(
                        '0'=>$name_gogia_xd_3_3,
                        '1'=>$pri_xd_3_3
                        ),
                    '3'=>array(
                        '0'=>$name_gogia_xd_3_4,
                        '1'=>$pri_xd_3_4
                        )
                    )
                )
            )
        ),
    );

Переменная $ i, чтобы показать больше такого массива. Есть ли какое-то решение этого? Мой алгоритм не очень хорош. На самом деле это упражнение, которое действительно причиняет мне боль, с нетерпением жду вашей помощи. Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...