2012-06-20 6 views
1

데이터베이스에서 오는 배열 $papers이 있습니다. 배열의 크기는 데이터베이스를 변경하는 사람의 의지에 따라 변경 될 수 있습니다.PHP Foreach 문제

foreach($papers as $paper) { 
    echo '<option value="' . $paper . '">' . $paper . '</option>'; 
} 

내 형태의 동적 목록을 얻을 수 :

는 내가 뭔가를 한 경우에 생각했다. 그러나, 내가 이것을 시도 할 때 어떤 이유로 웹 페이지가 비어 있습니다.
for($i = 0; $i < SOME_NUMBER; $i++) { 
    echo '<option value="' . $papers[$i] . '">' . $papers[$i] . '</option>'; 
} 

그러나 배열되는 변수의 크기

, 그것은 실행 가능한 옵션이 아닌 것 같아 : Obviouslly 내가 좋아하는 뭔가를 할 수 있습니다. 또한 간단한 for 루프의 두 번째 방법을 사용하면 페이지가로드되고 값이 실제로 올라옵니다. 나는 그것이 왜인지에 관해서는 매우 혼란 스럽다. 도움이 될 것입니다, 감사합니다. 당신은 배열을 참조하는 방법을 사용하려면

+1

'print_r ($ papers)'을 실행하여 얻은 결과를 확인하십시오. – sachleen

+1

옵션 1은 문제가 없습니다. print_r ($ papers)은 무엇입니까? 너 줄까? 빈 페이지는 오류보고를 켜야 함을 의미합니다. –

+1

은 정렬에 도움이 될 수있는 몇 가지 사실을 보여줍니다. 첫째, $ 논문의 에코 카운트 ($ 논문)에 얼마나 많은 결과가 있는지 세어보십시오. 또한 "

"; print_r($papers); echo "
"을 에코합니다. 당신의 foreach는 잘 작동해야합니다. – azzy81

답변

1

,이 시도 :

for($i = 0; $i < count($papers); $i++) { 
    echo '<option value="' . $papers[$i] . '">' . $papers[$i] . '</option>'; 
} 

기능은 말하는대로, 배열의 길이를 반환합니다() 카운트가 다를 수 있습니다 때마다 당신이 그것을 실행 .

2

당신은 내가 u는 당신의 $papper 배열에지고 어떤 데이터가 확실하지 않다 배열

foreach($papers as $key => $value) { 
    echo '<option value="' . $key . '">' . $value . '</option>'; 
} 
$key 인덱스를 들고

$value 들고 실제 값처럼 foreach 루프를 수정할 수 있습니다 하지만 나는 이런 일을 할 수 있다고 추측하고있다.

foreach($papers as $paper) { 
    echo '<option value="' . $paper['your_db_field_name'] . '">' . $paper['your_db_field_name'] . '</option>'; 
} 

간단한 for loop 당신은 오류에

for($i = 1 ; $i <= sizeof($pappers) ; $i++){ 
//your logic 
} 
0

차례

error_reporting(E_ALL | E_STRICT); 
init_set('display_errors', 'on'); 

을보고 아래처럼 sizeof()를 사용하여 디버깅하려고 할 수 있습니다

print_r($papers); 

및 배열 $ 논문의 구조를 보면