foreach ループの配列要素にキーがあるかどうかを確認するにはどうすればよいですか?
いくつかのコード:
function test($p_arr){
foreach ($p_arr as $key => $value){
// detect here if key 'came with the array' or not
}
}
$arr1['a'] = 10;
$arr2[] = 10;
$arr3[2] = 10;
test($arr1); // yes
test($arr2); // no
test($arr3); // yes
編集#1
$arr2
自動化されたインデックスキーとしても認識しています。自動化されているかどうかを知る必要があります。
編集#2
私の使い方は簡単です。
関数では、新しい配列を作成し、関数呼び出しによって提供された場合$key
は new として使用します。$key
または、関数呼び出しで省略された場合$value
は new として。$key
各要素にキーの使用を強制できることはわかっていますが、コードの一部では、データ構造自体が非常に動的です* - そして私は可能な限り柔軟に保とうとしています.
*他のコードを作成するコード、...を作成するコードなど。