내가 특정 값이 배열의 키로서 존재하고 난 다음 작업을 수행 할 필요가 않습니다 확인하고로부터 깊은 그 값을 얻을 - 그것은 어떤 데이터를 수집하기 위해 존재합니다. 다음은 상황입니다.PHP - 다차원 배열의 키에 대한 검색 및 구조
$valueCode; //(it can be EV000005, EV000010, etc.)
$temp = array_key_exists_custom($valueCode,$v); //does valueCode exist in array $v
//If it exist I need to collect it is value deeper from structure
//For example, for EV000005 -> I want to get 'Thread holding'
if ($temp) {
$colValue; // after perfroming code, $colValue should have value 'Thread holding'
}
구조가 EV000005 인 경우이를 수행하고 값을 얻습니다.
$colValue = $v[0][$valueCode][0][0][1];
하지만 내 값이 $v[0]
에 없을 때 상황이 있기 때문에 그것은 나에게 해결책이 아니다, f.e. EV000010
을 검색하면 $v[1][$valueCode][0][0][1];
이됩니다. 나는이 가치를 얻는 가장 좋은 방법이 무엇인지 전혀 모른다.
배열 예 : 배열의 검색
Array
(
[0] => Array
(
[EV000005] => Array
(
[0] => Array
(
[0] => Array
(
[0] => EN
[1] => Thread holding
)
[1] => Array
(
[0] => nl-NL
[1] => Schroefdraadhouder
)
)
)
)
[1] => Array
(
[EV000010] => Array
(
[0] => Array
(
[0] => Array
(
[0] => EN
[1] => Desoldering iron
)
[1] => Array
(
[0] => nl-NL
[1] => Desoldeerbout
)
)
기능
배열의 각 요소에 대한function array_key_exists_custom($needle, $haystack){
$result = array_key_exists($needle, $haystack);
if ($result) {
return $result;
}
foreach ($haystack as $v) {
if (is_array($v)) {
$result = array_key_exists_custom($needle, $v);
}
if ($result) {
return $result;
}
}
return $result;
}
하여 결과를 얻을 부분은 - '[0] [0] 1]'- 항상 같은가요? – splash58
예 ... 똑같습니다. 나는 항상이 가치를 취할 필요가있다. – punky
array_key_exists_custom을 변경하여 발견 된 키의 값을 반환하지만 부울은 반환하지 않습니다. 그건 매우 쉬워요. '$ res = array_key_exists_custom ($ key, $ arr) [0] [0] [1]; ' – splash58