現在の位置: ホーム> 最新記事一覧> array_key_exists array_key_exists多次元配列でキーをチェックできますか?具体的に使用する方法は?

array_key_exists array_key_exists多次元配列でキーをチェックできますか?具体的に使用する方法は?

gitbox 2025-09-12
<span><span><span class="hljs-meta">&lt;?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">?&gt;</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> =&gt; </span><span><span class="hljs-string">'Alice'</span></span><span>,
    </span><span><span class="hljs-string">'age'</span></span><span> =&gt; </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>

1。array_key_existsおよび多次元配列

Array_key_existsは現在のアレイレベルでキーのみを確認できることに注意してください。また、多次元アレイのネストされたキーを自動的に再帰的にチェックすることはありません。例えば:

 <span><span><span class="hljs-variable">$multiArray</span></span><span> = [
    </span><span><span class="hljs-string">'user'</span></span><span> =&gt; [
        </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Bob'</span></span><span>,
        </span><span><span class="hljs-string">'email'</span></span><span> =&gt; </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>

上記の例は、次のように示しています。

  1. 「ユーザー」$マルチアレイのトップレベルのキーであるため、チェックされることはtrueです

  2. 「名前」$マルチアレイのトップレベルのキーではないため、直接チェックするとfalseが返されます。

  3. ネストされた配列の「名前」キーを確認する場合は、最初に$ Multiarray ['user']にアクセスしてから、 array_key_existsを呼び出す必要があります。

2。多次元配列でキーを確認する方法

キーが多次元配列に存在するかどうかを再帰的に確認する場合は、ヘルパー機能を自分で記述できます。

 <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>) &amp;&amp; </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> =&gt; [
        </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Bob'</span></span><span>,
        </span><span><span class="hljs-string">'email'</span></span><span> =&gt; </span><span><span class="hljs-string">'[email protected]'</span></span><span>
    ],
    </span><span><span class="hljs-string">'settings'</span></span><span> =&gt; [
        </span><span><span class="hljs-string">'theme'</span></span><span> =&gt; </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返します。

3。概要

  1. array_key_existsデフォルトでは、現在の配列レベルでキーのみをチェックします。

  2. 多次元配列のネストされたキーは、最初に対応するサブアレイにアクセスするか、再帰関数を使用する必要があります。

  3. 再帰的な方法を使用して、キーがマルチレイヤーアレイに存在するかどうかを簡単に確認します。これは、配列または複雑なデータ構造の構成に非常に適しています。

このアプローチを使用すると、 array_key_existsの制限に悩まされることなく、多次元配列のキーチェックをより柔軟に処理できます。

 <span></span>