$g
에 저장된 결과는 1과 2입니다. 다음 코드는 아래에 작성했지만 내 $array['music']
은 마지막 요소 인 2 만 저장합니다. SQL 쿼리를 foreach에서 두 번 실행하고 $g
의 값이 1과 2가 mu_id
(mu_id
은 다른 테이블의 열 이름 music
)으로 일치하고 행 1과 2의 모든 행 데이터가 $array['music']
에 저장됩니다.배열은 PHP의 마지막 요소로 덮어 씁니다.
두 번째 행 (2)은 1이 아니라 두 번째에만 루프를 실행 중일 때 루프를 덮어 쓰고 있습니다. 작동하게하는 논리가 있다면 알려주십시오. 당신은 여기에 추가하는 것이 아니라 전체 배열마다 재 선언하고
foreach($genre as $g)
{
echo $g;
echo "<br>";
$array['music'] = $m -> where('mu_id', $g) -> get();
}
$ g는 무엇입니까? $ m이 뭐니? 변수에 적절한 이름을 지정하면 쉽게 따라 할 수 있습니다. 우리는 ABC를 다시 배울 필요가 없습니다. –
@Truth : CI Datamapper 문서는 모든 예제에서 단일 문자 변수를 사용하므로 아마도이 예제를 복사하는 것일뿐입니다. 나는 그것이 나쁜 습관에 동의한다. 그러나이 경우, 나는'$ g'가 "장르"이고 "$ m"은 "음악"이라고 가정한다. 나는 또한 완전한 단어를 사용합니다. –
@madmartigan 나는 그 사실을 잘 알고 있습니다. 배열의 기본을 이해하지 않고 맹목적으로 예제를 복사하는 것뿐만 아니라 직접 해선 안된다고 말하고 있습니다. –