我正在存储在数组的生日日期存在数组值检查是否在PHP
$birthdays = array
(
array("Alex",5,12),
array("Tom",2,20),
array("Sarah",6,12),
array("Anna",6,8)
array("Jonh",10,7) );
我需要的HTML形式(2输入文本框),我必须输入日期,按该按钮,如果日期是存在,将打印谁拥有生日的人的名字今天
我正在存储在数组的生日日期存在数组值检查是否在PHP
$birthdays = array
(
array("Alex",5,12),
array("Tom",2,20),
array("Sarah",6,12),
array("Anna",6,8)
array("Jonh",10,7) );
我需要的HTML形式(2输入文本框),我必须输入日期,按该按钮,如果日期是存在,将打印谁拥有生日的人的名字今天
你可以尝试这样的事情......
$SearchValue = "Sarah"
foreach ($birthdays as $value)
{
if (is_array($value))
{
if (in_array($SearchValue, $value)
{
//prints the inner array if the inner array contains your search value
print_r($value);
}
}
}
试试这个:
<?php
$birthdays = array
(
array("Alex",5,12),
array("Tom",2,20),
array("Sarah",6,12),
array("Anna",6,8),
array("Jonh",10,7)
);
function getBirthdayNameByDate($birthdaysArray, $day, $month)
{
foreach($birthdaysArray as $array)
{
if($array[1] == $month && $array[2] == $day)
return $array[0];
}
return null;
}
$result = getBirthdayNameByDate($birthdays, 8, 6);
var_dump($result);
var_dump($ result); var_dump($ result); –
显示存储在作为参数传递的变量中的值。它对调试很有用。 – aslawin
我需要html表单(2输入文本框)我必须输入日期,按下按钮,如果日期存在,将打印今天有生日的人的名字 –
$birthdays = array (
array("Alex",5,12),
array("Tom",2,20),
array("Sarah",6,12),
array("Anna",6,8),
array("Jonh",10,7),
array()
);
foreach($birthdays as $birthday) {
if($birthday) {
echo $birthday[0]."<br/>";
echo $birthday[1]."<br/>";
echo $birthday[2]."<br/>";
}
}
参见如果上述代码帮助,它只是具有如果condtion中的foreach要检查阵列并不emptu
我看到问题已被用户更改。所以根据原来只是检查价值是否存在的问题,为什么我的这个答案被拒绝投票? – Krishna
我需要html表单(2输入文本框)我必须输入日期,按下按钮,如果日期存在,将打印今天有生日的人的名字 –
使用此功能:
function retrieveBirthdays($birthdays, $month, $day=0)
{
return array_values
(
array_filter
(
$birthdays,
function($row) use($month, $day)
{
if($day) return ($row[1]==$month && $row[2]==$day);
else return ($row[1]==$month);
}
)
);
}
print_r(retrieveBirthdays($birthdays, 2, 20));
将输出:
Array
(
[0] => Array
(
[0] => Tom
[1] => 2
[2] => 20
)
)
取而代之,要获取所有六月份的生日,您可以使用:
print_r(retrieveBirthdays($birthdays, 6));
,你将获得:
Array
(
[0] => Array
(
[0] => Sarah
[1] => 6
[2] => 12
)
[1] => Array
(
[0] => Anna
[1] => 6
[2] => 8
)
)
我需要html表单(2输入文本框)我有输入日期,按下按钮,如果日期存在,将打印今天有生日的人的姓名 –
@AlexBazikalo检索今日生日的人的姓名:'$ persons = retrieveBirthdays($ birthdays,3, 9); $ name = $ persons [0] [0]'。 '$ name'是你想要的名字。附注:你认为完全不可能有两个同一生日的人? – fusion3k
你的意思是,如果一个特定的阵列是你'$ birthdays'阵列上?如果是显示它? – Rizier123
'in_array()'? – rray
如何输入? 2个变量?像'$ day = 20; $月= 2'? – rray