<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>위의 예는 다음을 보여줍니다.
'사용자' 는 $ multiarray 의 최상위 키이므로 확인을 확인하면 True를 확인하십시오.
'이름' 은 $ multiarray 의 최상위 키가 아니므로 직접 확인하는 것은 False를 직접 반환합니다.
중첩 배열에서 '이름' 키를 확인하려면 먼저 $ multiarray [ '사용자']에 액세스 한 다음 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를 반환합니다. 그렇지 않으면 결국 False를 반환합니다.
array_key_exists는 기본적으로 현재 배열 레벨에서 키를 확인합니다.
다차원 배열의 중첩 키는 해당 서브 어레이에 먼저 액세스하거나 재귀 함수를 사용해야합니다.
재귀 방법을 사용하여 멀티 레이어 어레이에 키가 존재하는지 쉽게 확인하십시오. 이는 배열 또는 복잡한 데이터 구조를 구성하는 데 매우 적합합니다.
이 접근법을 사용하면 Array_key_Exists 의 한계에 어려움을 겪지 않고 다차원 배열로의 키 점검을보다 유연하게 처리 할 수 있습니다.
<span></span>