0

OK、たとえば、ユーザーが国を選択すると、「フェデレーション」も追加されます。これらのフェデレーションは、ほとんど地域中心です。

私がこのようなものを持っているとしましょう:

function getFedration($country_iso) {
 // 6 federations
 // afc = asian nations
 // caf = african nations
 // cocacaf = north & central america and Caribbean nations
 // conmebol = south america
 // ofc = Oceanian nations
 // uefa = european nations

$afc = array("Japan", "China", "South Korea");
$caf = array("Cameroon", "Chad", "Ivory Coast");
$concacaf = array("United States" , "Canada", "Mexico");
$conmebol = array("Argetina", "Brazil", "Chile");
$ofc = array("Fiji", "New Zealand", "Samoa");
$uefa = array("Spain", "England", "Montenegro");

/*
PSEUDO-code

If $country_iso is in either of six arrays... mark that as the federation...

*/

return $federation;

}

私は知っています、それは国の名前を言います、しかしそれがそれになると、それは、などの代わりに、の代わりに、のように国のisoJPJapanなりCNますChina

それで、私は疑問に思いました、これは実行可能なことですか、それともあなたが考えるより良い方法がありますか?

4

2 に答える 2

1

ループするために、すべてのフェデレーションを配列に入れるのはどうですか?次のように、物事が簡単になります。

function countryToFederation($country_iso) {
    $federations = array(
        "afc" => array("Japan", "China", "South Korea"),
        "caf" => array("Cameroon", "Chad", "Ivory Coast"),
        "concacaf" => array("United States" , "Canada", "Mexico"),
        "conmebol" => array("Argetina", "Brazil", "Chile"),
        "ofc" => array("Fiji", "New Zealand", "Samoa"),
        "uefa" => array("Spain", "England", "Montenegro"),
    );


    foreach($federations as $federation) {
        if(in_array($country_iso, $federation)) {
            return $federation;
        }
    }
}
于 2012-10-04T05:56:26.067 に答える
1

連邦が 1 つの国にしか所属できない場合は、代わりに 1 つの配列を作成します。

$countryToFederationMap = array(
    'Japan' => 'AFC',
    'China' => 'AFC',
    'Cameroon' => 'CAF',
    // ...
);

次に、フェデレーションは単純です。

return $countryToFederationMap[$country];
于 2012-10-04T05:24:27.370 に答える