0

我正在构建一个通过调用数组键加载定价的菜单。菜单显示,但我无法在价格部分显示值。

我加载了一个关联数组,并希望从函数内部调用它的值。我已经声明了全局范围,并且正在使用 heredoc 将值添加到表中。我也试图通过封装调用 printMenu() 函数。仅当代码未放置在功能内时,价格才会显示在菜单内。

不知道这里有什么问题。请帮忙!

    printMenu();

    $plain = array(
      "small" => "3.50",
      "medium" => "6.25",
      "large" => "8.00"
    );

    function printMenu() {
      global $plain;
      print <<<HERE
        <table>
          <tr>
           <th>&nbsp;</th>
           <th class = "pSize">Small</th>
           <th class = "pSize">Med</th>
           <th class = "pSize">Large</th>
          </tr>
          <tr>
           <th>Plain</th>
           <td class ="price">$plain[small]</td>
           <td class ="price">$plain[medium]</td>
           <td class ="price">$plain[large]</td>
          </tr>
        </table>
    HERE;
    }
4

1 回答 1

1

在使用全局变量调用函数之前,您必须声明变量:

$plain = array(
  "small" => "3.50",
  "medium" => "6.25",
  "large" => "8.00"
);

printMenu();

另外,也许您会考虑将此变量设置为函数中的参数。检查这个:

function printMenu($argName) {
   var_dump($argName);
}

$plain = array(
  "small" => "3.50",
  "medium" => "6.25",
  "large" => "8.00"
);

printMenu($plain);
于 2013-10-26T22:41:18.523 回答