Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с массивом

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: поиск дня и месяца в массиве
bazik87
Отправлено: 09 Марта, 2016 - 12:23:28
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




программа должна проверять день и месяц д.р в массиве ,если есть совпадение,выводит на экран имя именинника ,но работает некоректно,проверяет только в первом массиве.в чем ошибка?
вот собственно код:
<?php
$result = '';
$birthdays = array(
array("Alex",5,12),
array("Tom",2,20),
array("Sarah",6,12),
array("Anna",6,8),
array("Jonh",10,7)
);
if(isset($_POST)){
$d = isset($_POST['day_bd']) ? $_POST['day_bd'] : '';
$m = isset($_POST['month_bd']) ? $_POST['month_bd'] : '';

$result = getBirthdayNameByDate($birthdays, $d, $m);

$result = $result ? $result : 'no results found';
}
function getBirthdayNameByDate($birthdaysArray, $day, $month){
foreach($birthdaysArray as $array){
if($array[1] == $month && $array[2] == $day){
return $array[0];
}
return null;
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
form{
text-align: center;
}
input{
width: 50%;
margin-bottom: 20px;
line-height: 30px;
font-size: 25px;
}
.nameOut{
text-align: center;
margin-top: 40px;
border:4px solid darkred;
border-radius: 15px;
font-size: 2em;
text-transform: uppercase;
}
</style>
</head>
<body>
<form action =""method ="POST">
<label for="user_day">Day:
<input id="user_day" type="number" name="day_bd">
</label>
<br>
<label for="user_month">Month:
<input id="user_month" type="number" name="month_bd">
</label>
<br>
<input type="submit">
</form>
<?php if($result){ ?>
<div class="nameOut">
<?php
echo $result
?>
</div>
<?php } ?>
</body>
</html>

(Отредактировано автором: 10 Марта, 2016 - 13:48:44)

 
 Top
andrewkard
Отправлено: 09 Марта, 2016 - 18:32:55
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




bazik87
В чем вопрос?
 
 Top
DeniSKu
Отправлено: 21 Марта, 2016 - 20:27:41
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $result = '';
  3. $birthdays = array(
  4. array("Alex",5,12),
  5. array("Tom",2,20),
  6. array("Sarah",6,12),
  7. array("Anna",6,8),
  8. array("Jonh",10,7)
  9. );
  10. if(isset($_POST)){
  11. $d = isset($_POST['day_bd']) ? $_POST['day_bd'] : '';
  12. $m = isset($_POST['month_bd']) ? $_POST['month_bd'] : '';
  13.  
  14. $result = getBirthdayNameByDate($birthdays, $m, $d);
  15. $result = $result ? $result : 'no results found';
  16. }
  17. function getBirthdayNameByDate($birthdaysArray, $month, $day){
  18. foreach($birthdaysArray as $a){
  19.         if($a[1] == $month && $a[2] == $day){
  20.                 $s = $a[0];
  21.         }
  22. }
  23.         return $s;
  24. }
  25. ?>
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB