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

312
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 которые комментированы

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

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

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

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

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

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

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

вход в чат на PHP

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

416