Как правильно написать 2 цикла php foreach?

257
28 декабря 2017, 23:20

Привет, подскажите пожалуйста как правильнее написать цикл на PHP + html разметка, ибо и за моего косяка теперь каждый item в item'e

$values = rwmb_meta( $field_id );
foreach ( $values as $clone ) {
    foreach ( $clone as $value ) {
        echo $value['name'];
        echo $value['address'];
        echo $value['email'];
    }
}

<div class="new-item">
  <div class="new-item__name">Здесь name над</div>
  <div class="new-item__adress">Здесь address</div>
  <div class="new-item__email">Угадайте что тут должно быть:D</div>
</div>

Values хранит к примеру 5 элементов у кажждого элемента свои свойства. Тогда надо 5 разметок .new-item что бы каждая имела свой name

Никак не могу правильно поставить структуру

Answer 1

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

<?php
$values = rwmb_meta( $field_id );
?>
<?php foreach($values as $clone): ?>
    <div class="new-item">
    <?php foreach($clone as $value): ?>
      <div class="new-item__name"><?php echo $value['name']; ?></div>
      <div class="new-item__adress"><?php echo $value['address']; ?></div>
      <div class="new-item__email"><?php echo $value['email']; ?></div>
    <?php endforeach;?>
    </div>
<?php endforeach;?>
Answer 2
$values = rwmb_meta($field_id);
foreach ($values as $clone) {
    echo '<div class="new-item">';
    foreach ($clone as $value) {
        echo '<div class="new-item__name">' . $value['name'] . '</div>';
        echo '<div class="new-item__adress">' . $value['address'] . '</div>';
        echo '<div class="new-item__email">' . $value['email'] . '</div>';
    }
    echo '</div>';
}
Answer 3
<?php
$html = '';
$values = rwmb_meta( $field_id );
foreach ( $values as $clone ) {
    $html .= '<div class="new-item">';
    foreach ( $clone as $value ) {
        $html .= '<div class="new-item__name">'.$value['name'].'</div>';
        $html .= '<div class="new-item__name">'.$value['address'].'</div>';
        $html .= '<div class="new-item__name">'.$value['email'].'</div>';
    }
    $html .= '</div>'; // new-item
}
echo $html;
?>
READ ALSO
Взять комментированный контент из html

Взять комментированный контент из html

Вопрос таковДопустим на сайте есть какие то куски html которые комментированы

384
Как сделать одного размера?

Как сделать одного размера?

ЗдравствуйтеНа главной странице отображаются товары Woocomerce

291
Поисковый запрос в JIRA на Python3

Поисковый запрос в JIRA на Python3

Доброго времени сутокЯ в процессе обучения Python (кнопаю сразу Python3) и поставили передо мной такую задачу: Написать скриптик на Python, работающий...

283
вход в чат на PHP

вход в чат на PHP

ЗдравствуйтеНе могли бы вы мне помочь , изучаю PHP пытаюсь сделать регистрацию и вход в чат http://heximal

336