if (!empty($aka)) {
foreach ($aka as $ak) {
if($ak["lang"]=="es") {
$sptitle=$ak["title"];
}
}
}
かなり簡単です。配列($ aka)が空でない場合は、それをループし、 "lang"インデックスが "es"に等しいことがわかったら、そのインデックスの "title"値を$ sptitleに保存するだけです。
問題は、配列($ aka)には多くの情報が含まれていることがあり、時には "lang"インデックスが存在しないことです...このエラーが発生します:Notice:未定義インデックス:lang。
どうすればこの問題を解決できますか?
これは、理解に役立つ配列の抽出です。 [1]には[lang]インデックスはありませんが、[2]には次のようなものがあります。
[1] => Array
(
[title] => "The Lord of the Rings: The Motion Picture"
[year] => ""
[country] => "USA"
[comment] => "promotional title"
)
[2] => Array
(
[title] => "Señor de los anillos: La comunidad del anillo, El"
[year] => ""
[country] => "Argentina"
[comment] => "Chile, Mexico, Peru, Spain"
[lang] => "es"
)
ありがとう!
を用いて除去気づいたが、それは(驚くほど)Aのために使用することは、具体的ISSETすごく速いhttp://us.php.net/manual/en/function.array-key-exists.php#82867 – enobrev
ええと、isset($ ak ['lang'])は未定義のインデックスのE_NOTICEを引き上げます。 array_key_exists()はできません。 – cletus
issetは通知を出しません。試してみてください。 –