두 변수 $ state 및 $ sectors를 사용하여 스크립트를 만들었습니다. 상태가 해당 섹터에 있으면 해당 섹터를 표시하려고합니다. 아래의 예는 상태로 '애리조나'를 사용하며 출력 '남서'등의 분야를해야하지만 난 제대로 배열하고 있어요 생각하지 않는다 :하위 배열의 값이있는 경우 상위 키 표시
<?php
$state = 'Arizona';
$sectors = array(
"Southeast" => array(
'name' => 'Southeast',
'states' => array('Alabama', 'Georgia', 'Florida', 'South Carolina', 'North Carolina', 'Louisiana', 'Tennessee', 'Kentucky', 'West Virginia', 'Mississippi')
),
"Southwest" => array(
'name' => 'Southwest',
'states' => array('California', 'Arizona', 'New Mexico', 'Utah')
)
);
function has_recursive($sectors, $state)
{
foreach ($state as $key => $value) {
if (!isset($sectors[$key])) {
return false;
}
if (is_array($sectors[$key]) && false === has_recursive($sectors[$key], $value)) {
return false;
}
}
return true;
}
if (has_recursive($sectors, $state) == true){
// false or true
echo $sector['name']; // Displays Southwest
}
이 도와주세요.
당신은 확실히 ''국가 '=> 배열 ('캘리포니아 ','애리조나 ','뉴 멕시코 ','유타 ')'을 의미 ? ("array (...)"를 참고하십시오) – bwoebi
"Southeast"=> array ('Alabama', 'Georgia', 'Florida', 'South Carolina', 'North Carolina', 'Louisiana' ','Tennessee ','Kentucky ','West Virginia ','Mississippi ')'$ 섹터를 검색하는 방법 – Rizzo
@Rizzo 예 – bwoebi