2009-10-28 4 views
0

기본적으로 저는 현재 다음과 같은 배열에 값을 넣습니다.보다 고급 배열을 사용하려면 어떻게해야합니까?

$flavors = array('Original','Cherry','Chocolate','Raspberry','Mango'); 

그리고 이렇게하면 foreach를 실행할 수 있습니다 :

 foreach($flavors as $flav) { 

    echo doSomething($flav); 

} 

내 학습의 다음 단계는 doSomething()에 2 개의 변수를 넣는 것입니다.

예를 들어, 체리의 성분을 포함한다고 가정하십시오. 예 :

 echo doSomething($flav, $ingredient_of_this_flav); 

이 작업을 수행 할 방법이 있는지 확실하지 않습니다. 두 번째 배열이 필요할 수도 있습니다. 전 위의 값을 키로 사용하는 곳 전체입니까? 예를 들어

$ingredients = array('Original' => 'boring stuff', 'Cherry' => 'cherries and other stuff') etc 

그리고 나서 doSomething()을 좋아할 것입니다.

 foreach($flavors as $flav) { 

    echo doSomething($flav, $ingredients[$flav]); 

} 

이제 이걸 시도해야 겠네요. 이것이 최선의 접근 방법인가요? 아니면 이것에 대해 더 좋은 방법이 있습니까? 이상적으로는 하나의 배열에 $ 풍미와 $ 재료를 설정할 필요가 없을 것입니다.

시간 내 주셔서 감사합니다.

답변

0

배열의 키와 값을 foreach 할 수 있습니다.

foreach ($ingredients as $flav => $ingredients) 
    { 
     echo doSomething($flav, $ingredients); 
    } 
1

PHP에서 배열은 사용자가 알아 차렸 듯이 연관성이 있습니다. 그리고 올바르게 이해한다면 각 키/값 쌍을 반복하는 구문을 찾고 있습니까?

foreach($ingredients as $flav => $ingredient) { 
    echo doSomething($flag, $ingredient); 
} 

이게 당신이 원하는 것입니까?

각 키에 대해 복잡한 값을 갖기를 원한다면 객체를 살펴 보는 것보다 더 잔인한 버전 인 배열 배열을 살펴볼 수 있습니다.

$ingredients = array('Cherry' => array('Cherries', 'Other stuff')); 

위 루프의 $ingredient은 배열입니다.

0

나는 풍미 => 성분 접근법을 가진 연관 배열 (일명 해쉬 테이블)을 사용할 것이다. 이런 식으로 :

$flavors = array ('Cherry' => array('stuff1', 'stuff2'), 
        'Mango' => array('stuff1', 'stuff3')); 

echo $flavors['Cherry'][0]; // stuff1 

foreach($flavors as $flavor => $ingredients) 
{ 
    print $flavor; 
    // $ingredients is an array so we need to loop through it 
    foreach($ingredients as $ingredient) 
    { 
    print $ingredient; 
    } 
} 

이것은 중첩 된 루프로 알려져 있으며, 맛과 각 성분을 인쇄합니다.

0

거의 다 왔어.

$ingredients = array('Original' => array('boring stuff', 'boring stuff2'), 'Cherry' => array('cherries', 'other stuff')); 

그리고 루프는 다음과 같습니다 : 물론

foreach($flavors as $flav => $ingredient) { 

     echo doSomething($flav, $ingredient); 

} 

, 모두 당신이 "해봐요()"에

을 무엇에 따라 달라집니다 뭔가처럼되고 배열을 설정합니다
관련 문제