Вывод html кода с помощью echo

215
17 февраля 2019, 08:10

Имеется массив из 32 подобных элементов:

    $boots = 
    [array("I" => "css/images/1.jpg", "Item Number" => "000001","Size List" => "8/8.5/9.5/10/11","Brand Name" => "Adidas Shoes","Wholesale Price:" => 87), 
     array("I" => "css/images/2.jpg", "Item Number" => "000002","Size List" => "8/9.5/10/11","Brand Name" => "Adidas Shoes","Wholesale Price:" => 77),...]

Нужно вывести его элементы на сайт с помощью цикла (имеется шаблон сайта).

Вот как выглядят эти элементы в первоначальном HTML коде из шаблона:

<ul>
 <li>
  <div class="image">
    <a href="#"><img src="css/images/1.jpg" alt="" width="180" /></a>
  </div>
  <p>
    Item Number: <span>000001</span><br />
    Size List : <span>8/8.5/9.5/10/11</span><br />
    Brand Name: <a href="#">Adidas Shoes</a>
  </p>
  <p class="price">Wholesale Price: <strong>31 USD</strong></p>
 </li>
.
.
.
</ul>

Вот как я пытаюсь это сделать:

<?php 
     for ($i=0; $i < sizeof($boots); $i++) {
        foreach ($boots[$i] as $key => $value) {
            echo '
                <li>
                    <div class="image">
                        <img src="$value" alt="" width="180" />
                    </div>
                    <p>
                        $key: <span>$value</span><br />
                        $key : <span>$value</span><br />
                        $key: <a href="">$value</a>
                    </p>
                    <p class="price">$key: <strong>$value USD</strong></p>
                </li>';
        } 
    }
?>

Как понимаете, получается фигня

Как сделать чтобы получалось так?

Answer 1

Для генерации HTML удобно использовать альтернативный синтаксис PHP.

<ul>
    <?php foreach( $boots as $boot ): ?>
        <li>
            <div class='image'>
                <img src="<?= $boot['I'] ?>" alt="" width="180" />
            </div>
            <p>
                Item Number : <span><?= $boot['Item Number'] ?></span><br />
                Size List : <span><?= $boot['Size List'] ?></span><br />
                Brand Name : <a href=""><?= $boot['Brand Name'] ?></a><br />
            </p>
            <p class="price">Wholesale Price: <strong><?= $boot['Wholesale Price:'] ?> USD</strong></p>
        </li>
    <?php endforeach; ?>
</ul>
Answer 2
<?php 
  foreach ($boots $value) 
  {
    echo '
      <li>
        <div class="image">
          <img src="'.$value['I'].'" alt="" width="180" />
        </div>
        <p>
          Item Number : <span>'.$value['Item Number'].'</span><br />
          Size List : <span>'.$value['Size List'].'</span><br />
          Brand Name : <a href="">'.$value['Brand Name'].'</a>
        </p>
        <p class="price">Wholesale Price : <strong>'.$value['Wholesale Price'].' USD</strong></p>
      </li>';
  } 
}
?>
Answer 3

Если так, то

echo '
                <li>
                    <div class="image">
                        <img src="' . $value .'" alt="" width="180" />
                    </div>
                    <p>
                       ' . $key .': <span>' . $value . '</span><br />
                        ' . $key .': <span>' . $value . '</span><br />
                        ' . $key .': <a href="">' . $value . '</a>
                    </p>
                    <p class="price">' . $key . ': <strong>' . $value .' USD</strong></p>
                </li>';
READ ALSO
Выгрузка данных из mysql php

Выгрузка данных из mysql php

форумчане, прошу о помощиЕсть таблица в бд, для подключения использую PDO

208
не работает кодировка utf8_general_ci

не работает кодировка utf8_general_ci

[PHP MyAdmin,Apache] На сервере стоит кодировка utf8_general_ci, в редакторе php UTF-8, на локалке выводятся кракозябрыВ чем причина? Все таблицы тоже в правильной...

181
Как вывести из массива словарь, перед этим выводя первую букву следующих слов?

Как вывести из массива словарь, перед этим выводя первую букву следующих слов?

Есть массив на латинице, содержащий словаМассив отсортирован по алфавиту

183