为什么我在访问字符串类型键下存在的数组值时遇到解析错误?
Why I'm getting parse error in accessing an array value present under the key of string type?
我试过以下代码:
<?php
$juices = array("apple", "orange", "koolaid1" => "purple");
// For below line of code I get tis error : Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
echo "He drank some $juices['koolaid1'] juice.".PHP_EOL;
// For below line of code too I get tis error : Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
echo "He drank some $juices["koolaid1"] juice.".PHP_EOL;
//Below line of code works fine. Prints He drank some purple juice.
echo "He drank some $juices[koolaid1] juice.".PHP_EOL;
?>
我的问题是因为我正在访问的密钥类型是 string 那么我必须将它放在单引号或双引号内才能访问它所包含的值。我在这里做同样的事情,但出现解析错误。为什么会这样?
另一方面,当我不在 string 类型的键周围使用单引号或双引号时,它工作正常,这真的非常令人惊讶。
由于 PHP 的这种 奇怪行为,我在这里完全感到困惑。请有人为我提供有用的帮助。
当您的数组变量已经在双引号中时 "
此时您不必添加任何引号来访问索引。你只需要直接写索引名称而不用任何引号。但是,如果您当时没有任何引号围绕数组,则必须添加引号以访问字符串索引。
echo "He drank some $juices[koolaid] juice.".PHP_EOL;
//不需要引用
echo $juices['koolaid'];
//这里需要引用
我试过以下代码:
<?php
$juices = array("apple", "orange", "koolaid1" => "purple");
// For below line of code I get tis error : Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
echo "He drank some $juices['koolaid1'] juice.".PHP_EOL;
// For below line of code too I get tis error : Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
echo "He drank some $juices["koolaid1"] juice.".PHP_EOL;
//Below line of code works fine. Prints He drank some purple juice.
echo "He drank some $juices[koolaid1] juice.".PHP_EOL;
?>
我的问题是因为我正在访问的密钥类型是 string 那么我必须将它放在单引号或双引号内才能访问它所包含的值。我在这里做同样的事情,但出现解析错误。为什么会这样?
另一方面,当我不在 string 类型的键周围使用单引号或双引号时,它工作正常,这真的非常令人惊讶。
由于 PHP 的这种 奇怪行为,我在这里完全感到困惑。请有人为我提供有用的帮助。
当您的数组变量已经在双引号中时 "
此时您不必添加任何引号来访问索引。你只需要直接写索引名称而不用任何引号。但是,如果您当时没有任何引号围绕数组,则必须添加引号以访问字符串索引。
echo "He drank some $juices[koolaid] juice.".PHP_EOL;
//不需要引用
echo $juices['koolaid'];
//这里需要引用