2012-06-29 3 views
0

PHP에서 변수의 루프를 처리하는 가장 좋은 방법은 무엇입니까? 설명하겠습니다.배열 값을 foreach에 전달하고 마지막으로 다른 변수에 전달 하시겠습니까?

<?php 
$FORM_FIELD_INDUSTRY = '<select><option value=>Select an Industry</option>'.$INDUSTRY.'</select>'; 
?> 

는 여기에 필요한 내용은 다음과 같습니다

<?php 
$SELECT_INDUSTRY = array("Industry1", "Industry2", "Industry3"); 
require_once('form.inc'); 
?> 
<html> 
<head></head> 
<body> 
<?php echo $FORM_FIELD_INDUSTRY ?> 
</body> 
</html> 

내가 다음 form.inc라는 두 번째 파일이 :

나는 다음을 포함의 index.php라는 파일이 있습니다. 입력 된 배열 값을 foreach에 전달하여 배열을 처리하고 <option></option> 코드를 내 보내야합니다. 다음은 그 예입니다.

foreach ($SELECT_INDUSTRY as $INDUSTRY) { 
echo '<option value="$INDUSTRY">$INDUSTRY</option>'; 
} 

따라서이 함수는 배열 값을 기반으로 선택 옵션을 만듭니다. 이 방법이 효과적이지만 위의 form.inc 파일에서 정의한 변수에 전체 값을 전달하는 방법은 무엇입니까? form.inc 파일에서 변수로 $ INDUSTRY를 가졌습니다. 다른 함수에서 일종의 반환이 필요합니다. 함수가 올 경우 전역 변수를 전달해야 할 수도 있습니다. 이것을 처리하는 더 좋은 방법이 있습니까?

내 최종 목표는 배열 값을 기반으로 foreach 함수를 내보내는 $ FORM_FIELD_INDUSTRY 변수를 사용하는 것입니다.

솔루션이 솔루션은 아래에 나열되어

하지만,이 건너 오는 사람을 위해, 여기에 내가 무슨 짓을 :

index.php를

<?php 
$SELECT_INDUSTRY = array("Industry1", "Industry2", "Industry3"); 
$FORM_SELECT_SIZE = ''; 
require_once('form.inc'); 
?> 
<html> 
<head></head> 
<body> 
<?php get_options($FORM_FIELD_INDUSTRY) ?> 
</body> 
</html> 

form.inc

<?php 
function get_options($arr = array()) { 
    global $FORM_SELECT_SIZE; 
    echo '<select id="industry" class="'.$FORM_SELECT_SIZE.'"><option value=>Select an Industry</option>'; 
    foreach($arr as $option) { 
     echo '<option>'.$option.'</option>'; 
    } 
    echo '</select></div></div>'; 
} 
$FORM_FIELD_INDUSTRY = $SELECT_INDUSTRY; 
?> 

함수와 변수 사이에 값을 전달하는 아주 간단한 솔루션입니다.

function get_options($arr = array()) { 
    echo '<select>'; 
    foreach($arr as $option) { 
     echo '<option>'.$option.'</option>'; 
    } 
    echo '</select>'; 
} 

다음 HTML에서이처럼 호출 할 수 있습니다 : 그래서

<html> 
<head></head> 
<body> 
<?php get_options($SELECT_INDUSTRY); ?> 
</body> 
</html> 

내가라면을

+0

거기에 foreach? – Gazillion

+0

그것에 대해 생각했지만 올바른 코드를 얻을 수 없었습니다. foreach를 함수로 분해 할 수 있다고 가정하지만 변수 선언 내에서 함수를 어떻게 호출할까요? 내가 할 수 있는지 잘 모르겠다. – stebesplace

+0

변수를 함수의 인수로 전달할 수 있습니다. 아래 답변의 코드를 참조하십시오. – Gazillion

답변

0

당신은 옵션을 구축하고과 같이 반환하는 함수를 사용할 수 있습니다 당신이 우리에게 주었던 코드를 가져 와서 다음과 같이 조합하면됩니다 :

<?php 
$SELECT_INDUSTRY = array("Industry1", "Industry2", "Industry3"); 
require_once('form.inc'); 
?> 
<html> 
<head></head> 
<body> 
<?php get_options($SELECT_INDUSTRY); ?> 
</body> 
</html> 
<?php 
function get_options($arr = array()) { 
    echo '<select>'; 
    foreach($arr as $option) { 
     echo '<option>'.$option.'</option>'; 
    } 
    echo '</select>'; 
} 
?> 
+0

이 문제가 실제로 해결 된 것 같습니다. 지금 테스트하면 결과가 게시됩니다. – stebesplace

+1

이 솔루션은 내 요구에 부응했습니다. 내가 한 일의 변화를 반영하기 위해 원본을 편집 할 것입니다. – stebesplace

관련 문제