Теги Div в цикле foreach в PHP - PullRequest
0 голосов
/ 12 мая 2018

Мне интересно, как лучше встраивать теги в цикл foreach?

У меня есть ассоциативный массив, в котором есть одна запись со следующими ключами:

$portfolio = [
'title' => '',
'technology' => '',
'description' => '',
'link' => '',
];

Я пытаюсь повторить тег div с конкретными элементами внутри, но каждый тег div дублируется:

<div class="container">
<div class="row">
<div class="col-md-6 col-lg-4"><div class="card">\n<div class="car img 
top"></div>
</div>
</div><div class="col-md-6 col-lg-4"><div class="card"><div class="car 
img top"></div>
</div>
</div><div class="col-md-6 col-lg-4"><div class="card"><div class="car 
img top"></div>
</div>
</div><div class="col-md-6 col-lg-4"><div class="card"><div class="car 
img top"></div>
</div>
</div>  </div><!-- row end -->
</div><!-- container end -->

Мой цикл foreach: Я закомментировал некоторые из них, так как я нахожусь в процессе отладки, когда при загрузке страницы появляется белая страница, ошибка которой находится в закомментированном коде, который я исправлю.

foreach($portfolio as $value){

echo '<div class="col-md-6 col-lg-4">' . '\n';
    echo '<div class="card">' . '\n';
        echo '<div class="car img top">';
            //echo "<img src='img/" . "$value['image']'" . ">";
        //echo "</div>";
        //echo "<div class='card-body'>";
        //  echo "<div class='card-body'>";
            //  echo "<h3 class'card-title'><a class='text-secondary' href='#'>See Project</a></h3>";
            //  echo "<h6 class='card-subtitle mb-2 text-muted'>$value['description']</h6>";

        echo "</div>". "\n";
    echo "</div>" . "\n";   
echo "</div>";
}

Буду признателен за любую помощь, но я думаю, что моя лучшая цель - создать многомерный массив?

Спасибо, Джеймс

1 Ответ

0 голосов
/ 12 мая 2018

Если ваша проблема только в форматировании и удобочитаемости, попробуйте использовать этот синтаксис.

<?php foreach($portfolio as $value):?>
<div class="col-md-6 col-lg-4">
    <div class="card">
        <div class="car img top">
            <img src="img/<?php echo $value['image'];?>" />
        </div>";
        <div class="card-body">
            <div class="card-body">
                <h3 class='card-title'>
                    <a class='text-secondary' href='<?php echo $value['link']?>'>
                       <?php echo $value['title']?>
                    </a>
                </h3>
                <h6 class='card-subtitle mb-2 text-muted'><?php echo $value['description']?></h6>
            </div>
        </div>  
    </div>
</div>
<?php endforeach;?>

Обратите внимание, что в ваших цитатах были ошибки, и вы забыли закрывающий тег div. Этот формат облегчает чтение и обнаружение ошибок.

Обратите внимание, что в моем примере я предполагаю, что ваша переменная $portfolio является многомерным массивом как таковым:

$portfolio = [
    [
      'title' => '',
      'technology' => '',
      'description' => '',
      'link' => ''
    ],
    [
      'title' => '',
      'technology' => '',
      'description' => '',
      'link' => ''
    ],
    // etc
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...