在循环中更改变量 PHP

Change variables in a loop PHP

我有一个非常简单的问题,我的问题是我对PHP没有太多经验。我有一个组件,其中重复了 3 列 <div class="sim-column col-sm-12 col-md-4 ">。布局方面它们完全相同,唯一改变的是信息。有什么方法可以迭代列 3 次并更改变量 $plan_s$plan_m$plan_l?

<?php 
extract($args)


?>


<div class="container">
  <div class="row">
    <div class="sim-column col-sm-12 col-md-4 ">
      <?php if (!is_front_page()): ?>
      <div class="sim-benefits">
        <?= ( $plan_s['plan_info'] ); ?>
      </div>
      <?php endif ?>
      <div class="sim-card-plan">
        <div class="sim-card-plan-wrapper">
          <div class="title"><?= ( $plan_s['plan_name'] ); ?><br>(<?= ( $plan_s['plan_description'] ); ?>)</div>
          <div class="tarifa">
            <div class="title"><?= ( $plan_s['gigas'] ); ?>GB</div>
            <div class="description"><?php the_field('plans_tagline', 'option'); ?></div>
          </div>
          <div class="price-wrapper">
            <div class="price">
              <div class="euro"><span>€</span><span class="cost"><?= ( $plan_s['price'] ); ?></span></div>
              <div class="days"><?php the_field('plans_days', 'option'); ?></div>
            </div>
          </div>
        </div>
        <div class="explain-plan" data-toggle="modal" data-target="#ModalExplainPlan1">
          <?= __('Find out more', 'test') ?></div>
      </div>
      <a href="#" id="toggleS" class="btn btn--primary normal" data-toggle="modal"
        data-target="#ModalPlan1"><?= __('Select', 'test') ?></a>
    </div>

    <div class="sim-column col-sm-12 col-md-4 ">
      <?php if (!is_front_page()): ?>
      <div class="sim-benefits">
        <?= ( $plan_m['plan_info'] ); ?>
      </div>
      <?php endif ?>
      <div class="sim-card-plan">
        <div class="sim-card-plan-wrapper">
          <div class="title"><?= ( $plan_m['plan_name'] ); ?><br>(<?= ( $plan_m['plan_description'] ); ?>)</div>
          <div class="tarifa">
            <div class="title"><?= ( $plan_m['gigas'] ); ?>GB</div>
            <div class="description"><?php the_field('plans_tagline', 'option'); ?></div>
          </div>
          <div class="price-wrapper">
            <div class="price">
              <div class="euro"><span>€</span><span class="cost"><?= ( $plan_m['price'] ); ?></span></div>
              <div class="days"><?php the_field('plans_days', 'option'); ?></div>
            </div>
          </div>
        </div>
      </div>
      <a href="#" id="toggleM" class="btn btn--primary normal" data-toggle="modal"
        data-target="#ModalPlan2"><?= __('Select', 'test') ?></a>
    </div>


    <div class="sim-column col-sm-12 col-md-4 ">
      <?php if (!is_front_page()): ?>
      <div class="sim-benefits">
        <?= ( $plan_l['plan_info'] ); ?>
      </div>
      <?php endif ?>
      <div class="sim-card-plan">
        <div class="sim-card-plan-wrapper">
          <div class="title"><?= ( $plan_l['plan_name'] ); ?><br>(<?= ( $plan_l['plan_description'] ); ?>)</div>
          <div class="tarifa">
            <div class="title"><?= ( $plan_l['gigas'] ); ?>GB</div>
            <div class="description"><?php the_field('plans_tagline', 'option'); ?></div>
          </div>
          <div class="price-wrapper">
            <div class="price">
              <div class="euro"><span>€</span><span class="cost"><?= ( $plan_l['price'] ); ?></span></div>
              <div class="days"><?php the_field('plans_days', 'option'); ?></div>
            </div>
          </div>
        </div>
      </div>
      <a href="#" id="toggleL" class="btn btn--primary normal" data-toggle="modal"
        data-target="#ModalPlan3"><?= __('Select', 'test') ?></a>
    </div>
  </div>
</div>

我也需要更改这部分。

 <a href="#" id="toggleS" class="btn btn btn--primary normal" data-toggle="modal" data-target="#ModalPlan1"><?= __('Select', 'test') ?></a>

来自

<a href="#" id="toggleM" class="btn btn btn--primary normal" data-toggle="modal" data-target="#ModalPlan2"><?= __('Select', 'test') ?></a>
 <a href="#" id="toggleL" class="btn btn btn--primary normal" data-toggle="modal" data-target="#ModalPlan3"><?= __('Select', 'test') ?></a>

在第二次和第三次迭代中,我该怎么办?

是的,将 3 个数组放入另一个数组,然后循环遍历该数组

$all3 = ['plans'=>$plan_s, 'planm'=>$plan_m, 'planl'=>$plan_l];

foreach ( $all3 as $name => $plan) {
?>
    <div class="sim-column col-sm-12 col-md-4 ">
        <?php if (!is_front_page()): ?>
            <div class="sim-benefits">
                <?= ( $plan['plan_info'] ); ?>
            </div>
        <?php endif ?>
        <div class="sim-card-plan">
            <div class="sim-card-plan-wrapper">
                <div class="title">
                    <?= ( $plan['plan_name'] ); ?><br>(<?= ( $plan['plan_description'] ); ?>)
                </div>
                <div class="tarifa">
                    <div class="title">
                        <?= ( $plan['gigas'] ); ?>GB
                    </div>
                    <div class="description">
                        <?php the_field('plans_tagline', 'option'); ?>
                    </div>
                </div>
                <div class="price-wrapper">
                    <div class="price">
                        <div class="euro">
                            <span>€</span>
                            <span class="cost"><?= ( $plan['price'] ); ?></span>
                        </div>
                        <div class="days">  
                            <?php the_field('plans_days', 'option'); ?>
                        </div>
                    </div>
                </div>
            </div>
            <div class="explain-plan" data-toggle="modal" data-target="#ModalExplainPlan1">
                <?= __('Find out more', 'test') ?>
            </div>
        </div>
<?php
    $toggle = 'toggleS';
    $model = '#ModalPlan1';

    if ( $name == 'plans' ) {
        $toggle = 'toggleS';
        $model = '#ModalPlan1';
    } else if ( $name == 'planm' ) {
        $toggle = 'toggleM';
        $model = '#ModalPlan2';
    } else {
        $toggle = 'toggleL';
        $model = '#ModalPlan3';
    }
?>
    <a href="#" id="<?= $toggle ?>" class="btn btn--primary normal" data-toggle="modal" data-target="<?= $model ?>"><?= __('Select', 'test') ?></a>
</div>
<?php 
}
?>