-2

この PHP コードでエラーが発生する理由を誰かに説明してもらえないだろうかと思っていました。私が教えられたことから、これはPHP5で配列を書き込んでから読み取る正しい方法ですが、エラーが発生する理由について非常に混乱しています。これについて調べてみましたが、説明がわかりません。お時間をいただきありがとうございます。

エラーは次のコードにあります。

<?php
$sportsEquipment = $array(
  "Sports Shoes" => "50.22",
  "Hocky Stick" => "80.00",
  "Tennis balls" => "5.66");
echo "<pre>";
foreach($sportsEquipment as $key=>$val) {
   printf("%-20s%20.2f\n", $key, $val);
}
echo "</pre>";
?>

エラーメッセージは次のとおりです。

解析エラー: 構文エラー、2 行目の予期しない '=>' (T_DOUBLE_ARROW)

4

3 に答える 3

3

配列の代わりに $array を入れたこれを試してください

$sportsEquipment = array(
  "Sports Shoes" => "50.22",
  "Hocky Stick" => "80.00",
  "Tennis balls" => "5.66");
echo "<pre>";
于 2013-05-13T15:57:00.253 に答える
1
$sportsEquipment = $array(

する必要があります

$sportsEquipment = array(

基本的に、php は $array( を、変数 $array の値によって名前が定義される関数呼び出しとして認識しています。関数内では矢印表記が無効であるため、構文エラーが発生します。

于 2013-05-13T15:56:56.277 に答える
1

配列リテラルは、先行符号なしで宣言されます。$配列宣言ではなく、変数関数呼び出しの構文から始めています。

于 2013-05-13T15:58:18.373 に答える