Получите сегодняшние дни рождения в PHP: примеры кода

Чтобы узнать сегодняшние дни рождения в PHP, вы можете использовать несколько подходов. Вот несколько методов с примерами кода:

Метод 1: использование базы данных MySQL
Предполагая, что у вас есть таблица базы данных MySQL с именем «пользователи» и столбцом с именем «день рождения» типа DATE, вы можете использовать следующий код:

<?php
// Connect to the database
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
// Get today's date
$today = date("Y-m-d");
// Retrieve birthdays
$sql = "SELECT * FROM users WHERE DATE_FORMAT(birthday, '%m-%d') = DATE_FORMAT('$today', '%m-%d')";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo $row["name"] . " has a birthday today!<br>";
    }
} else {
    echo "No birthdays today.";
}
$conn->close();
?>

Метод 2: использование массива
Если у вас есть массив дней рождения, вы можете перебрать его и сравнить даты. Вот пример:

<?php
// Array of birthdays
$birthdays = [
    "John" => "1990-01-12",
    "Alice" => "1992-08-15",
    "Mike" => "1985-01-12",
    // Add more birthdays here...
];
// Get today's date
$today = date("m-d");
// Find birthdays
$today_birthdays = [];
foreach ($birthdays as $name => $birthday) {
    if (date("m-d", strtotime($birthday)) === $today) {
        $today_birthdays[] = $name;
    }
}
// Output birthdays
if (!empty($today_birthdays)) {
    echo "Birthdays today: " . implode(", ", $today_birthdays);
} else {
    echo "No birthdays today.";
}
?>

Метод 3: использование класса DateTime
Вы также можете использовать класс DateTime в PHP для сравнения дат. Вот пример:

<?php
// Array of birthdays
$birthdays = [
    "John" => "1990-01-12",
    "Alice" => "1992-08-15",
    "Mike" => "1985-01-12",
    // Add more birthdays here...
];
// Get today's date
$today = new DateTime();
// Find birthdays
$today_birthdays = [];
foreach ($birthdays as $name => $birthday) {
    $date = DateTime::createFromFormat("Y-m-d", $birthday);
    if ($date && $date->format("m-d") === $today->format("m-d")) {
        $today_birthdays[] = $name;
    }
}
// Output birthdays
if (!empty($today_birthdays)) {
    echo "Birthdays today: " . implode(", ", $today_birthdays);
} else {
    echo "No birthdays today.";
}
?>

Это несколько способов узнать сегодняшние дни рождения на PHP. Не забудьте настроить код в соответствии с вашими конкретными требованиями и источником данных.