1

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

各要素にキーの使用を強制できることはわかっていますが、コードの一部では、データ構造自体が非常に動的です* - そして私は可能な限り柔軟に保とうとしています.

*他のコードを作成するコード、...を作成するコードなど。

4

3 に答える 3

2

すべての要素にはキーがあります

$arr1['a'] = 10; // key is the string 'a'
$arr2[] = 10;    // key is will be the integer zero
$arr3[2] = 10;   // key is the integer 2

編集

インデックスが自動化されているかどうかを知りたい理由を理解しておくとよいでしょうか? 奇妙に思えます。

于 2014-03-29T22:47:04.663 に答える