Arrays PHP-按数组列出的每周天数
这是我的密码:Arrays PHP-按数组列出的每周天数,arrays,Arrays,这是我的密码: $day = 1; $dayList = array("0"=>"Sunday","1"=>"Monday"); if(in_array($day,$dayList)) { echo $dayList[$day]; } 我尝试了$day=0,效果很好,但如果字符串是1,则不起作用 如何解决此问题?in_array()检查值,而不是键。所以在这种情况下,它不会做你想做的事isset()是您需要使用的函数,请尝试以下操作: if (isset($dayLis
$day = 1;
$dayList = array("0"=>"Sunday","1"=>"Monday");
if(in_array($day,$dayList)) {
echo $dayList[$day];
}
我尝试了$day=0
,效果很好,但如果字符串是1
,则不起作用
如何解决此问题?in_array()
检查值,而不是键。所以在这种情况下,它不会做你想做的事isset()
是您需要使用的函数,请尝试以下操作:
if (isset($dayList[$day])) {
...
}
使用数组\u键\u存在:
$day = 1;
$dayList = array("0"=>"Sunday","1"=>"Monday");
if(array_key_exists($day,$dayList)) {
echo $dayList[$day];
}
更多信息:
另一种方法:
您可以创建一个返回此值或键的函数,如下所示:
function getDayOfTheWeek($name)
{
$dayList = array("0"=>"Sunday","1"=>"Monday","2"=>"Tuesday","3" => "Wednesday");
// if a string make sure it's capitalized
if (preg_match('/[^A-Za-z]/', $name)) {
$name = ucwords(strtolower($name));
} else {
// if not a string flip the array and get name
$dayList = array_flip($dayList);
}
return $dayList[$name];
}
// print results for each call to function
var_dump(getDayOfTheWeek('0')); // returns Sunday
var_dump(getDayOfTheWeek('1')); // returns Monday
var_dump(getDayOfTheWeek('Monday')); //returns 1
var_dump(getDayOfTheWeek('Tuesday')); // returns 2