2012-08-25 4 views
1

여행 여정 시스템을 구축하려고합니다. 사용자는 여행 날짜를 선택한 다음 매일 매일 항목을 추가 할 수 있습니다.여정 시스템에 두 개의 개별 배열을 연결합니다.

array(
(int) 0 => array(
    'Attraction' => array(
     'attraction_id' =>'1', 
     'name' => 'Place One', 

    ) 
), 
(int) 1 => array(
    'Attraction' => array(
     'attraction_id' => '2', 
     'name' => 'Place Two', 

    ) 
), 
:

array(
    (int) 0 => '2012-08-25', 
    (int) 1 => '2012-08-26', 
    (int) 2 => '2012-08-27' 
) 

그들은 그때는 형식의 배열에 저장하고자 명소를 선택합니다 :

나는 형식의 세션에 저장된 날짜의 배열을 가지고

나는 출력 할 수 싶습니다

  • 2012-08-25
    • 장소 여기에 또 하나 개
    • 장소 두
  • 2012년 8월 26일
    • 아무것도!
  • 2012년 8월 27일
    • 아무것도 여기에 아직! 그 말이 경우

그래서, 제 배열의 각 항목은 항목의 배열을 포함한다. 나는 배열 배열의 days 배열의 키를 연결하는 논리로 고투하고있다.

나는 array_merge을 보았다. 그러나 그것이 내가 필요로하는 것처럼 보이지 않는다.

쉬운 방법이 있나요?

+0

귀하의 예는 주어진 규칙과 일치하지 않습니다. 장소 2는 2012 년 8 월 26 일에 있어야합니다. –

답변

1

이 코드는 귀하가 요구하는 것과 정확히 일치합니다. 불행히도 귀하의 질문이 본보기가 주어진 귀하의 목표를 반영하지 않는다는 것을 두려워합니다. 데이터를 링크하기 위해 키를 사용하면 1-1 관계가 생기고, 1-n이 필요한 것 같습니다. attraction 배열에는 date_id와 같은 외부 키 필드가 있어야합니다.

$array= array(); 

foreach($dates as $date_key=>$date){ 
    $array[$date]=array(); 
    foreach($attractions as $attraction_key=>$attraction){ 
     if($date_key==$attraction_key){ 
      $array[$date][]=$attraction['Attraction']['name']; 
     } 
    } 
} 
+0

포함 된 공백의 절대 최소값으로 코드를 읽기가 매우 어렵습니다. – IMSoP

+0

그것은 나에게 잘 읽는다. 그건 의미가 + 1 - n 관계를 요구하는 것에 대한 의미를 얻고, 샘플 코드가 100 % 명확하지 않은 것을 되돌아 보았습니다. 나는 이것으로 어떻게 지내는지 볼 것이다. 고마워. – user1624421

관련 문제