Загрузка данных
<?php
// =========================================================
// 1 ЭТАП: Массив с данными (добавлены 3 элемента и 2 ключа)
// =========================================================
$flowers = array(
array(
"Название" => "розы",
"Цена" => 100,
"Количество" => 15,
"Дата поставки" => "2026-05-20",
"Производитель" => "Голландия"
),
array(
"Название" => "тюльпаны",
"Цена" => 60,
"Количество" => 25,
"Дата поставки" => "2026-05-21",
"Производитель" => "Эквадор"
),
array(
"Название" => "орхидеи",
"Цена" => 180,
"Количество" => 7,
"Дата поставки" => "2026-05-19",
"Производитель" => "Таиланд"
),
array(
"Название" => "пионы",
"Цена" => 150,
"Количество" => 10,
"Дата поставки" => "2026-05-22",
"Производитель" => "Россия"
),
array(
"Название" => "ромашки",
"Цена" => 50,
"Количество" => 30,
"Дата поставки" => "2026-05-23",
"Производитель" => "Кения"
),
array(
"Название" => "лилии",
"Цена" => 200,
"Количество" => 5,
"Дата поставки" => "2026-05-24",
"Производитель" => "Колумбия"
)
);
// =========================================================
// 2 ЭТАП (Часть 1): Вывод первой таблицы + генерация случайных чисел
// =========================================================
echo "<h3>Таблица 1. Исходные данные</h3>";
echo "<table border='1'>";
echo "<tr>
<th>Название</th>
<th>Цена</th>
<th>Количество</th>
<th>Дата поставки</th>
<th>Производитель</th>
</tr>";
foreach ($flowers as $flower) {
echo "<tr>";
echo "<td>" . $flower['Название'] . "</td>";
echo "<td>" . $flower['Цена'] . "</td>";
echo "<td>" . $flower['Количество'] . "</td>";
echo "<td>" . $flower['Дата поставки'] . "</td>";
echo "<td>" . $flower['Производитель'] . "</td>";
echo "</tr>";
}
echo "</table>";
// Генерация случайного цветка и количества
$flower_names = array_column($flowers, 'Название');
$random_flower_name = $flower_names[array_rand($flower_names)];
$buy_quantity = rand(0, 30);
echo "<p>Случайно выбранный цветок: <b>$random_flower_name</b></p>";
echo "<p>Количество для покупки: <b>$buy_quantity</b></p>";
// =========================================================
// 2 ЭТАП (Часть 2): Логика остатка и вывод второй таблицы
// =========================================================
$found = false;
foreach ($flowers as $key => $flower) {
if ($flower['Название'] == $random_flower_name) {
$found = true;
$current_stock = $flower['Количество'];
$remainder = $current_stock - $buy_quantity;
// Логика:
// Если запрашивают больше, чем есть (remainder < 0),
// то покупка отменяется, и количество остается исходным.
// В противном случае записываем остаток (включая 0).
if ($remainder < 0) {
$flowers[$key]['Количество'] = $current_stock;
} else {
$flowers[$key]['Количество'] = $remainder;
}
break;
}
}
echo "<h3>Таблица 2. Остаток после попытки покупки</h3>";
if (!$found) {
echo "<p>Такого цветка нет в каталоге.</p>";
} else {
echo "<table border='1'>";
echo "<tr>
<th>Название</th>
<th>Цена</th>
<th>Количество</th>
<th>Дата поставки</th>
<th>Производитель</th>
</tr>";
foreach ($flowers as $flower) {
echo "<tr>";
echo "<td>" . $flower['Название'] . "</td>";
echo "<td>" . $flower['Цена'] . "</td>";
echo "<td>" . $flower['Количество'] . "</td>";
echo "<td>" . $flower['Дата поставки'] . "</td>";
echo "<td>" . $flower['Производитель'] . "</td>";
echo "</tr>";
}
echo "</table>";
}
?>