2011-07-30 18 views
3

選択メニューの都市選択に基づいてユーザーの国を生成しようとしています。私は連想配列を使って選択メニューを生成しました。私は "$ city is $ country"を印刷したいが、$ countryに正しくアクセスすることはできない。これは私が持っているものです:キーからPHP配列の値を返す方法は?

<?php 
$cities = array("Tokyo" => "Japan", "Mexico City" => "Mexico", 
"New York City" => "USA", "Mumbai" => "India", "Seoul" => "Korea", 
"Shanghai" => "China", "Lagos" => "Nigeria", "Buenos Aires" => "Argentina", 
"Cairo" => "Egypt", "London" => "England"); 
?> 

<form method="post" action="5.php"> 
<?php 
echo '<select name="city">'; 

foreach ($cities as $city => $country) 
{ 
echo '<option value="' . $city . '">' . $city . '</option>'; 
} 

echo '<select>'; 

?> 

<input type="submit" name="submit" value="go" /> 
</form> 
<?php 
$city = $_POST["city"]; 

print ("$city is in $country"); 
?> 

アイデア?ありがとうございました。

答えて

9

foreachループからローカルforeach変数$ countryにアクセスしようとしています。あなたはループの中でそれをしなければなりません。

それともあなただけのような都市の配列から国を得ることができる:

$cities[$city]; 
+0

ありがとうございました!!!それはうまくいった! – dmubu

1
... 
<?php 
$city = $_POST["city"]; 

print ("$city is in ".$cities[$city]); 
?> 
関連する問題