【问题标题】:Change variables in a loop PHP在循环PHP中更改变量
【发布时间】:2021-08-30 11:39:11
【问题描述】:

我有一个非常简单的问题,我的问题是我对 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>

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

【问题讨论】:

    标签: php wordpress wordpress-theming


    【解决方案1】:

    是的,将 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 
    }
    ?>
    

    【讨论】:

    猜你喜欢
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    相关资源
    最近更新 更多