if语句表达式中的php数组解除引用

时间:2016-04-05 21:09:36

标签: php arrays brackets curly-braces

为什么我需要在if语句表达式中使用花括号来进行数组索引? 为什么以下是非法的?

$birthday = "1990-01-18";
$date_birth = explode("-", $birthday);
if ($date_birth[1] != "00" && $date_birth[2] != "00") {
    $monthName = date('F', mktime(0, 0, 0, $date_birth[1], 10));
    echo "$monthName $date_birth[2]";
}

但是,以下工作正常:

$birthday = "1990-01-18";
$date_birth = explode("-", $birthday);
if ($date_birth{1} != "00" && $date_birth{2} != "00") {
    $monthName = date('F', mktime(0, 0, 0, $date_birth[1], 10));
    echo "$monthName $date_birth[2]";
}

1 个答案:

答案 0 :(得分:1)

这两个版本完全相同,as shown here

此外,php manual page on arrays表示:

  

方括号和花括号可以互换使用来访问数组元素(例如$array[42]$array{42}都会做同样的事情[...]