나는 흥미로운 상황이 있습니다. 여러 페이지에 포함 된 양식을 사용하여 (단순화하고 중복을 줄이기 위해) 일부 영역의이 양식은 DB의 값으로 채워집니다. 그러나 이러한 모든 값이 항상 존재하는 것은 아닙니다. 예를 들어, 나는의 효과에 뭔가를하고 수 :PHP는 문자열을 가져 와서 해당 문자열이 변수로 존재하는지 확인합니다.
<?php echo set_value('first_name', $first_name); ?>
및 값이 존재하는 곳은 잘 작동,하지만 그들은 처음으로 자신의 이름을 입력 할 수 있기 때문에 $ 사용자는 항상 설정되어 있지 . 그래, 할 수있어 if 문 (단축형 또는 일반) 내에 isset($first_name) && $first_name
변수가 설정되어 있는지, null이 아닌지 확인하기 위해 도우미 함수를 작성하려고합니다. 나는 varIsset('first_name')
과 같은 것을하고 싶습니다. first_name은 실제 변수 이름 $ first_name이고 함수는 문자열을 가져 와서 원하는 변수 $ first_name으로 바꾸고 null이 아닌지 확인합니다. 요구 사항을 통과하면 해당 변수 값을 반환합니다 (이 경우 'test'). 요구 사항을 통과하지 못하거나 설정되지 않았거나 null 인 경우 함수는 '{blank}'를 반환합니다.
CodeIgniter가 도움이된다면 Laravel로 전환 할 예정입니다. 어떤 도움을 주셔서 감사합니다. 여기에 내가 지금까지 정리해 놓은 것이 있지만 아무 소용이 없다. 여기
function varIsset($var = '')
{
foreach (get_defined_vars() as $val) {
if ($val == $var) {
if (isset($val) && $val) {
echo $val;
}
break;
}
}
die;
}
은 사용 예입니다 :
<?php
if (varIsset('user_id') == 100) {
// do something
}
?>
이미 시도 변수 변수와 행운 이러한 경우에이 논리를 사용하는 더 나은 방법이 될 수 있습니다. 이 함수는 도우미 파일 안에 존재하게 될 것입니다. –
@K_G'global' 선언을 잊어 버렸습니다. 제가 추가 한 작업 예제를보십시오. – jeroen
실례에 감사드립니다. 그래도 여전히 거짓말을하고 있는데, 변수가 컨트롤러에서 가장 확실하게 설정되어 있다는 것을 알 수 있습니다. –