<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// --------------------</span></span><span>
</span><span><span class="hljs-comment">// これは記事の内容とは関係ありません PHP コードの例</span></span><span>
</span><span><span class="hljs-variable">$dummyArray</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$dummyArray</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span> * </span><span><span class="hljs-number">2</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// --------------------</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
---
</span><span><span class="hljs-comment"># array_key_exists 多次元配列のキーを確認できますか??具体的に使用する方法?</span></span><span>
存在するする PHP 真ん中,`array_key_exists` 函数用于检查一个数组真ん中是否存存在するする指定的鍵。その基本的な使用法は次のとおりです:
```php
</span><span><span class="hljs-variable">$array</span></span><span> = [
</span><span><span class="hljs-string">'name'</span></span><span> => </span><span><span class="hljs-string">'Alice'</span></span><span>,
</span><span><span class="hljs-string">'age'</span></span><span> => </span><span><span class="hljs-number">25</span></span><span>
];
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">array_key_exists</span></span><span>(</span><span><span class="hljs-string">'name'</span></span><span>, </span><span><span class="hljs-variable">$array</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"鍵 'name' 存存在するする"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"鍵 'name' 不存存在するする"</span></span><span>;
}
</span></span>実行結果:
<span><span>鍵 </span><span><span class="hljs-string">'name'</span></span><span> 存存在するする
</span></span>Array_key_existsは、現在のアレイレベルでキーのみを確認できることに注意してください。また、多次元アレイのネストされたキーを自動的に再帰的にチェックすることはありません。例えば:
<span><span><span class="hljs-variable">$multiArray</span></span><span> = [
</span><span><span class="hljs-string">'user'</span></span><span> => [
</span><span><span class="hljs-string">'name'</span></span><span> => </span><span><span class="hljs-string">'Bob'</span></span><span>,
</span><span><span class="hljs-string">'email'</span></span><span> => </span><span><span class="hljs-string">'[email protected]'</span></span><span>
]
];
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">array_key_exists</span></span><span>(</span><span><span class="hljs-string">'user'</span></span><span>, </span><span><span class="hljs-variable">$multiArray</span></span><span>)); </span><span><span class="hljs-comment">// true</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">array_key_exists</span></span><span>(</span><span><span class="hljs-string">'name'</span></span><span>, </span><span><span class="hljs-variable">$multiArray</span></span><span>)); </span><span><span class="hljs-comment">// false</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">array_key_exists</span></span><span>(</span><span><span class="hljs-string">'name'</span></span><span>, </span><span><span class="hljs-variable">$multiArray</span></span><span>[</span><span><span class="hljs-string">'user'</span></span><span>])); </span><span><span class="hljs-comment">// true</span></span><span>
</span></span>上記の例は、次のように示しています。
「ユーザー」は$マルチアレイのトップレベルのキーであるため、チェックされることはtrueです。
「名前」は$マルチアレイのトップレベルのキーではないため、直接チェックするとfalseが返されます。
ネストされた配列の「名前」キーを確認する場合は、最初に$ Multiarray ['user']にアクセスしてから、 array_key_existsを呼び出す必要があります。
キーが多次元配列に存在するかどうかを再帰的に確認する場合は、ヘルパー機能を自分で記述できます。
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">array_key_exists_recursive</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$key</span></span></span><span>, </span><span><span class="hljs-variable">$array</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">array_key_exists</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-variable">$array</span></span><span>)) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">true</span></span><span>;
}
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$array</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_array</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>) && </span><span><span class="hljs-title function_ invoke__">array_key_exists_recursive</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>)) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">true</span></span><span>;
}
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;
}
</span><span><span class="hljs-comment">// 例</span></span><span>
</span><span><span class="hljs-variable">$multiArray</span></span><span> = [
</span><span><span class="hljs-string">'user'</span></span><span> => [
</span><span><span class="hljs-string">'name'</span></span><span> => </span><span><span class="hljs-string">'Bob'</span></span><span>,
</span><span><span class="hljs-string">'email'</span></span><span> => </span><span><span class="hljs-string">'[email protected]'</span></span><span>
],
</span><span><span class="hljs-string">'settings'</span></span><span> => [
</span><span><span class="hljs-string">'theme'</span></span><span> => </span><span><span class="hljs-string">'dark'</span></span><span>
]
];
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">array_key_exists_recursive</span></span><span>(</span><span><span class="hljs-string">'email'</span></span><span>, </span><span><span class="hljs-variable">$multiArray</span></span><span>)); </span><span><span class="hljs-comment">// true</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">array_key_exists_recursive</span></span><span>(</span><span><span class="hljs-string">'theme'</span></span><span>, </span><span><span class="hljs-variable">$multiArray</span></span><span>)); </span><span><span class="hljs-comment">// true</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">array_key_exists_recursive</span></span><span>(</span><span><span class="hljs-string">'age'</span></span><span>, </span><span><span class="hljs-variable">$multiArray</span></span><span>)); </span><span><span class="hljs-comment">// false</span></span><span>
</span></span>この関数は、配列内の各レイヤーを反復し、指定されたキーが見つかった場合にtrueを返します。
array_key_existsデフォルトでは、現在の配列レベルでキーのみをチェックします。
多次元配列のネストされたキーは、最初に対応するサブアレイにアクセスするか、再帰関数を使用する必要があります。
再帰的な方法を使用して、キーがマルチレイヤーアレイに存在するかどうかを簡単に確認します。これは、配列または複雑なデータ構造の構成に非常に適しています。
このアプローチを使用すると、 array_key_existsの制限に悩まされることなく、多次元配列のキーチェックをより柔軟に処理できます。
<span></span>