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