다른 날 나는이 거대한 배열 집합을 얻었고 HTML 페이지를 묶음으로 만들거나/라디오 버튼을 선택한다고 말하면서 단순한 몇 가지 간단한 함수를 작성했습니다.간단한 PHP 함수에서 변수 변수 사용하기
이것은 매우 큰 HTML 선택을 생성하는 제 함수입니다. 나도 그것을 기대처럼 ${$name}
단순히/어떤 작업을 호출하지 않기 때문에
function genSelect($name) {
$selectReturn = '<select name="'.$name.'">';
foreach(${$name} as $value=>$text){
$selectReturn .= '<option value="'.$value.'"';
if($evalThis->loaded_settings[$name]['value']==$value)
$selectReturn .= ' SELECTED ';
$selectReturn .= '>'.$text.'</option>';
}
$selectReturn .= '</select>';
return $selectReturn;
}
이 작동하지 않습니다. 나는 이미 배열을 전달하는 곳에서 함수 호출을 처리하지만이 코드에서 가변 변수를 잘못 처리했다는 사실을 알고있다.
편집 : 일부 컨텍스트를 제공하기 위해 joomla보기에로드되어 설정을 입력하기위한 거대한 UI를 빌드합니다. 이 함수는 lib 파일에 있으며 require_once
을 사용하여 내가 사용하는 모든 배열을 포함하는 다른 파일을로드합니다. 데이터베이스에는 이러한 설정의 현재 값만 포함되며 배열에는 다양한 셀렉트/라디오/드롭 다운 메뉴에 사용할 수있는 모든 옵션이 포함되어 있으며 언어/번역을 위해 별도의 파일로 중앙 집중화되어 있습니다.
사람들이 묻는 질문을 명확히하기 위해 $name
에는 사용 된 배열의 이름과 HTML 선택/라디오/체크 박스 입력의 이름이 포함되어 있습니다. $evalThis
은 데이터베이스에 현재있는 값이 들어있는 배열입니다.
$ name의 데이터가 어떤 모습인지 예를 들려 줄 수 있습니까? – FlipMcF
나는 '$ evalThis'는 무엇을할까요? 그것은 다소 '악'이라고 들린다. – PeeHaa
이것을 사용해보십시오 :'$ evalThis = new stdClass(); –