Php 关联数组+;Foreach语句--未定义的变量

Php 关联数组+;Foreach语句--未定义的变量,php,arrays,foreach,Php,Arrays,Foreach,我真的很难做到这一点,我已经看过了指南,但除了阵列的布局,我似乎看不出我的指南和他们的指南有什么区别 <?php $country = array('England' => "London", 'Scotland' => "Edinburgh", 'France' => "Paris"); foreach ($capitals as $country=>$capital) { echo "The capital of $country is $capital";

我真的很难做到这一点,我已经看过了指南,但除了阵列的布局,我似乎看不出我的指南和他们的指南有什么区别

<?php
$country = array('England' => "London", 'Scotland' => "Edinburgh", 'France' => "Paris");

foreach ($capitals as $country=>$capital) {
echo "The capital of $country is $capital";
}

?>

提前感谢。

将您的代码更改为:

(我将数组名称从
国家
更改为
大写


将代码更改为:

(我将数组名称从
国家
更改为
大写


您试图循环遍历一个不存在的数组,
$capitals
。您必须循环遍历数组
$country

foreach ($country as $country=>$capital) {
    echo "The capital of $country is $capital";
}

您试图循环遍历一个不存在的数组,
$capitals
。您必须循环遍历数组
$country

foreach ($country as $country=>$capital) {
    echo "The capital of $country is $capital";
}


那么,您在哪里定义了
$capitals
?我哪儿也看不到。我想您应该使用
$capitals=array(…)
而不是
$country=array(…)。您至少可以将指南中显示的示例包括在内,以便进行比较。说“我一直在看指南”并不能告诉我们是哪一个指南。
未定义变量的哪一部分:大写字母
你不明白吗?(这是一个严肃的问题,我不是居高临下,只是不知道如何更好地表达)。它给出了一个非常清楚的信号,表明什么是错误的,即您试图访问一个不存在的变量。那么,您在哪里定义了
$capitals
?我哪儿也看不到。我想您应该使用
$capitals=array(…)
而不是
$country=array(…)。您至少可以将指南中显示的示例包括在内,以便进行比较。说“我一直在看指南”并不能告诉我们是哪一个指南。
未定义变量的哪一部分:大写字母
你不明白吗?(这是一个严肃的问题,我不是居高临下,只是不知道如何更好地表达)。它给出了一个非常清楚的错误信号,即您试图访问一个不存在的变量。您更改了什么以及原因?@FelixKling I将数组名称从:
country
更改为
capitals
,因为OP刚刚将数组命名错误。谢谢,我知道这将是一个小小的更改,可以修复它。您更改了什么,为什么更改?@FelixKling我将数组名称从:
country
更改为
capitals
,因为OP刚刚将数组命名错误。谢谢,我知道这将是一个小的更改,可以修复它。命名循环变量
$country
也会有问题吗?在它中工作正常。这不是一种好的样式,但是如果你不想在循环后访问数组,@FelixKling可以正常工作:True@FelixKling-我的答案更多的是通过一些不存在的东西进行循环。命名循环变量
$country
也会有问题吗?在它中工作很好。这不是一种好的样式,但是如果你不想在循环后访问数组,那么@FelixKling可以正常工作:True@FelixKling-我的答案更多的是通过一些不存在的东西进行循环。
The capital of England is London
The capital of Scotland is Edinburgh
The capital of France is Paris
foreach ($country as $country=>$capital) {
    echo "The capital of $country is $capital";
}