PHP变量赢得';不分配给数组值

PHP变量赢得';不分配给数组值,php,arrays,Php,Arrays,我试图从下面的数组中分配$totalPrice一个值,但它只返回0,echo$totalPrice在一些HTML代码中,如果我使用echo$sites[$site][0],它会显示该值,但在分配给$totalPrice时不会显示该值 $totalPrice = 0; $site = "UM"; $totalPrice = $sites[$site][0]; $sites = array ( "US" => array (38.78, 11, 5.5),

我试图从下面的数组中分配
$totalPrice
一个值,但它只返回0,echo
$totalPrice
在一些HTML代码中,如果我使用echo$sites[$site][0],它会显示该值,但在分配给
$totalPrice
时不会显示该值

$totalPrice = 0;
$site = "UM";

$totalPrice = $sites[$site][0];


    $sites = array
    (
        "US" => array (38.78, 11, 5.5),
        "UM" => array (44.55, 11, 5.5),
        "PS" => array (55.28, 11, 5.5),
        "PM" => array (66.55, 11, 5.5)
    )

    echo $totalPrice; 

您使用了
$totalPrice=$sites[$site][0]变量
$sites
在初始化之前,这就是为什么它每次都给出0的答案

您可以尝试此代码..您需要在数组值下方声明
$totalPrice

$totalPrice = 0;
$site = "UM";


    $sites = array(
        "US" => array (38.78, 11, 5.5),
        "UM" => array (44.55, 11, 5.5),
        "PS" => array (55.28, 11, 5.5),
        "PM" => array (66.55, 11, 5.5)
    );

    $totalPrice = $sites[$site][0];
echo $totalPrice;

我似乎在您的代码中找不到
$totalPeople
,也在第3行中,您在声明之前正在使用
$sites
。该(更正的)代码按预期工作:-错误必须在其他地方。@Jeff在初始化之前使用
$sites
时如何工作?@Mehdi true。我认为这是复制粘贴错误,因为显示的代码也会产生语法错误。@RJD语句是按照您在文件中写入它们的顺序执行的。当行
$totalPrice=$sites[$site][0]时已执行,
$sites
尚不存在。因此,PHP会发出一个通知(您可能看不到),并将
$totalPrice
设置为
NULL
(即未设置/未定义)。您有一个语法错误。此外,这不是一个很好的回答方法,请添加一个解释。告诉OP为什么他的代码是错误的,为什么你的代码是正确的。
$totalPrice = 0;
$site = "UM";


    $sites = array(
        "US" => array (38.78, 11, 5.5),
        "UM" => array (44.55, 11, 5.5),
        "PS" => array (55.28, 11, 5.5),
        "PM" => array (66.55, 11, 5.5)
    );

    $totalPrice = $sites[$site][0];
echo $totalPrice;