Чтобы узнать сегодняшние дни рождения в 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. Не забудьте настроить код в соответствии с вашими конкретными требованиями и источником данных.