Php 为什么我';m在访问字符串类型键下的数组值时出现解析错误?

Php 为什么我';m在访问字符串类型键下的数组值时出现解析错误?,php,arrays,string,array-key,Php,Arrays,String,Array Key,我尝试了以下代码: <?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 variabl

我尝试了以下代码:

<?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;
?>

我的问题是,因为我访问的键的类型是字符串,所以我必须将它放在单引号或双引号中才能访问它所持有的值。我在这里做同样的事情,但是得到了一个解析错误。为什么会这样

另一方面,当我在stringtype的键周围不使用单引号或双引号时,它的工作状态很好,这真的非常令人惊讶


由于PHP的这种奇怪行为,我在这里完全搞糊涂了。请有人给我提供有用的帮助。

当您的数组变量已经在双引号中时
此时,访问索引时不必添加任何引号。您只需直接编写索引名,不需要任何引号。但若那个时数组周围并没有任何引号,那个么就必须添加引号来访问字符串索引

echo“他喝了一些$juice[Kooled]果汁。”//不需要任何报价


echo$juice['kooled']//此处需要报价

手册中有详细说明: