Как вывести данные из массива в PHP?

Как можно изменить код, чтобы выводить все фамилии из массива, соответствующие конкретной дате и как преобразовать и выводить данные из MySQL базы в таком же формате массива для календаря?
  • 22 августа 2024 г. 9:53
Ответы на вопрос 3
Для вывода данных из массива в PHP можно использовать цикл foreach. Например:
```php
$array = array("Иванов", "Петров", "Сидоров");

foreach($array as $value) {
    echo $value . "<br>";
}
```

Чтобы вывести все фамилии из массива, соответствующие конкретной дате, нужно использовать условие в цикле foreach. Например, если у вас есть массив $data, в котором каждый элемент представляет собой ассоциативный массив с ключами "date" и "surname", то код может выглядеть так:
```php
$dateToFind = "2022-10-15";

foreach($data as $item) {
    if ($item["date"] == $dateToFind) {
        echo $item["surname"] . "<br>";
    }
}
```

Чтобы преобразовать данные из MySQL базы в такой же формат массива для календаря, можно использовать функции для работы с базой данных, такие как mysqli или PDO. Например:
```php
$mysqli = new mysqli("localhost", "username", "password", "database");

$result = $mysqli->query("SELECT date, surname FROM table");

$data = array();
while ($row = $result->fetch_assoc()) {
    $data[] = $row; // добавляем каждую строку результата в массив $data
}

foreach($data as $item) {
    // далее можно использовать этот массив для вывода в нужном формате
}
```

Даннный пример предполагает, что в базе данных есть таблица "table" с колонками "date" и "surname", из которой мы выбираем данные.
Нужно изменить формат массива на двумерный: 
$arr = [
  '03' => ['Иванов'],
  '15' => ['Иванов', 'Петров'],
  '17' => ['Иванов', 'Сидоров'],
  '19' => ['Иванов', 'Петров'],
];


Код у вас приведён какой-то бессмысленный, его прокоментировать не могу.
Для работы с массивами почти всего используется foreach, начните с изучения его документации и примеров. Потом возвращайтесь с какими-то более конкретными вопросами (но сначала почитайте какой-нибудь учебник или просто погуглите, потому что это азы программирования).
Есть массив с данными "Дата" и "Фамилия", ниже представленный код выводит только одну фамилию в заданную дату, а нужно все, которые соответствуют конкретной дате.
Начнем с того что массив в таком формате будет всегда содержать 1 фамилию на 1 дату. Задание на дом - объяснить почему так.

И как ещё выводить из базы MySQL массив такого формата?
Зависит от структуры таблицы, но в любом случае - работа с массивом практически всегда подразумевает цикл. Соответственно нужен цикл.
Похожие вопросы