Неопределенное смещение: 2 при использовании разнесения - PullRequest
0 голосов
/ 27 января 2019

У меня есть $product_image='img1.png,img2.png,img3.png' в виде строки, где я взрываюсь $product_image и показываю изображение как $pro_img[0], $pro_img[1] and $pro_img[2].

Я получаю ошибку

Сообщение: неопределенное смещение: 2

, если $pro_img[2] не находит изображения.

Я хочу решить его, используя foreach loop, но не знаю, как использовать foreach дляисправить эту проблему?

<?php $pro_img = explode(",",$product_image); ?>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
    <div class="pro-large text-center">
      <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[0]; ?>" style="width: 50%;height: 35%;" alt="">
    </div>
  </div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
    <div class="pro-large text-center">
      <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[1]; ?>" style="width: 50%;height: 35%;" alt="">
    </div>
  </div>
  <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
    <div class="pro-large text-center">
      <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[2]; ?>" style="width: 50%;height: 35%;" alt="">
    </div>
  </div>
</div>
<ul class="nav product-img-tab" id="myTab" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">
      <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[0]; ?>" style="width: 50%;height: 96px;" alt="">
    </a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">
      <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[1]; ?>" style="width: 50%;height: 96px;" alt="">
    </a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">
      <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[2]; ?>" style="width: 50%;height: 96px;" alt="">
    </a>
  </li>
</ul>

1 Ответ

0 голосов
/ 27 января 2019

Поскольку у вас есть различные разделы (домашний / профиль / контакт), которые, как я полагаю, вы всегда хотите отображать как с изображением, так и без него, я предлагаю вместо этого использовать isset.

Isset просто проверяет, является лиключ существует в массиве $ pro_img, и вы можете использовать его, чтобы решить, следует ли печатать тег изображения:

<?php
    $pro_img = explode(",",$product_image);
?>
<div class="tab-content" id="myTabContent">
    <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
        <div class="pro-large text-center">
            <?php if (isset($pro_img[0])) : ?>
                <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[0]; ?>" style="width: 50%;height: 35%;" alt="">
            <?php endif; ?>
        </div>
    </div>
    <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
        <div class="pro-large text-center">
            <?php if (isset($pro_img[1])) : ?>
                <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[1]; ?>" style="width: 50%;height: 35%;" alt="">
            <?php endif; ?>
        </div>
    </div>
    <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
        <div class="pro-large text-center">
            <?php if (isset($pro_img[2])) : ?>
                <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[2]; ?>" style="width: 50%;height: 35%;" alt="">
            <?php endif; ?>
        </div>
    </div>
</div>
<ul class="nav product-img-tab" id="myTab" role="tablist">
    <li class="nav-item">
        <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">
            <?php if (isset($pro_img[0])) : ?>
                <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[0]; ?>" style="width: 50%;height: 96px;" alt="">
            <?php endif; ?>
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">
            <?php if (isset($pro_img[1])) : ?>
                <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[1]; ?>" style="width: 50%;height: 96px;" alt="">
            <?php endif; ?>
        </a>
    </li>
    <li class="nav-item">
        <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">
            <?php if (isset($pro_img[2])) : ?>
                <img src="<?php echo base_url(); ?>resource/product/<?php echo $pro_img[2]; ?>" style="width: 50%;height: 96px;" alt="">
            <?php endif; ?>
        </a>
    </li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...