-3

以下のような配列に国をコードとともに保存しました

$countries = array (
    'AF' => 'Afghanistan',
    'AX' => 'Åland Islands',
    'AL' => 'Albania',
    'DZ' => 'Algeria'
);

国コード「AF」または国名「アフガニスタン」をフォームから取得したとします。コードと名前の両方を配列から出力するにはどうすればよいですか?

私が取得しようとしている出力は次のとおりです。アフガニスタンAF。後で以下のコードで使用します。

echo $countries['AF'] gives me the country name, but how do I output both;
4

6 に答える 6

1

コードを知っている場合(この場合は「AF」

$code = 'AF';
echo 'Country :', $countries[$code], " has code $code\n";

しかし、他の方法、つまりアフガニスタンでコードAFを取得したい場合は、リスト全体を反復処理するか、別の配列を作成する必要があります。

于 2012-10-19T07:17:04.607 に答える
1

あなたの満足のために、key($countries['AF'])AF自体であるキーを提供します:)

于 2012-10-19T07:17:02.617 に答える
1

これを試して :)

var_dump(array_slice($countries, array_search('AX', array_keys($countries)), 1));
于 2012-10-19T07:26:09.463 に答える
0

あなたの質問はよくわかりませんが、配列を繰り返してコードと名前の両方を出力することについて質問している場合は、ループ内でキーを割り当てるだけです。

foreach ($countries as $code => $name) {
       echo "$code : $name";
}

もう1つの解決策は、話しているフォームで送信された国名しかわからない場合は、配列を反転することです。

$countries = array_flip($countries); // Flips the array so Code => Name is Name => Code
$code = $countries[$_POST['country']]; // Where $_POST['country'] is the name
于 2012-10-19T07:14:30.937 に答える
0

多分ループで

 <?php
     foreach($countries as $key=>$name) {
         echo "<p>$key => $name</p>";
     }
 ?>
于 2012-10-19T07:14:45.410 に答える
0

試す

foreach($countries as $key=>value)
{
 echo "Code: ".$key." Country: ".$value;
}
于 2012-10-19T07:14:53.100 に答える