私はそのように世界のすべての国の配列を持っています:
$countries = array(
"GB" => "United Kingdom",
"US" => "United States",
"AF" => "Afghanistan",
"AL" => "Albania",
"DZ" => "Algeria",
"AS" => "American Samoa",
"AD" => "Andorra",
"AO" => "Angola",
"AI" => "Anguilla",
"AQ" => "Antarctica",
"AG" => "Antigua And Barbuda",
"AR" => "Argentina",
"AM" => "Armenia",
"AW" => "Aruba",
"AU" => "Australia",
"AT" => "Austria",
"AZ" => "Azerbaijan",
"BS" => "Bahamas",
"BH" => "Bahrain",
"BD" => "Bangladesh",
"BB" => "Barbados",
"BY" => "Belarus",
"BE" => "Belgium",
"BZ" => "Belize",
"BJ" => "Benin",
"BM" => "Bermuda",
"BT" => "Bhutan",
"BO" => "Bolivia",
"BA" => "Bosnia And Herzegowina",
"BW" => "Botswana",
"BV" => "Bouvet Island",);
など、すべての国で。私はすべての国が適切にリストされていることを100%肯定しています。
サーバーに保存されているファイルに結果を保存する申請書があります。現在、アプリケーションのレビューページは基本的なテキストバージョンであり、クライアントがアプリケーションをレビューするためのより視覚的に魅力的な方法を持つために、それをモックフォームに変換する過程にあります。
したがって、という名前の配列$in_data
は、ファイルからの結果を格納します。この配列はそのように構成されてい"emergency_medical_insurance" => "value_user_entered"
ます。各キーは、それが形成されたHTML要素の名前であり、値はユーザーが入力したものです。
フォームの国選択リストは、国の2文字のコードを返します。だから私がやろうとしているのは$countries
、の値で検索して$in_data['country_select']
から国の名前を返すことです。
echo $in_data['country_select'];
カナダと入力したテスト国の文字コード「CA」を返します。
echo $countries['CA'];
'Canada'を返します
if (array_key_exists($in_data['country_select'], $countries)){
echo "Country Found";
}
else { echo "failed"; }
何も返しません。
if (array_key_exists('CA', $countries)){
echo "Country Found";
}
else { echo "failed"; }
また、何も返しません。そして、私が何も言わないとき、私は何も意味しません、nullでも、trueでも、falseでもありません。実行すらしません。
私の質問は簡単です。以下のコード(公式のPHPマニュアルから取得)は、私のコードとまったく同じように機能しますが、コードは何も返しません。
<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is in the array";
}
?>