문제이며, 절대 아무것도 출력되지 않습니다. 중고 코드 !empty
대신의 PHP는 isset() 대! 빈은()
$fname = !empty($_POST['fname']) ? $_POST['fname'] : 'sample';
die($fname);
출력 sample
을 점점 채워지지 FNAME 입력 필드에 제출, 후.
문제이며, 절대 아무것도 출력되지 않습니다. 중고 코드 !empty
대신의 PHP는 isset() 대! 빈은()
$fname = !empty($_POST['fname']) ? $_POST['fname'] : 'sample';
die($fname);
출력 sample
을 점점 채워지지 FNAME 입력 필드에 제출, 후.
와 함께 제출하면 따라서 출력 할 아무것도 의미하지, 그냥 빈하지만 전송입니다!
POST에서 GET으로 양식 방법을 변경하면 직접 볼 수 있습니다.
isset()
은 변수가 NULL
인지 여부를 확인하고 배열에서 정의되지 않은 색인에 액세스하는 경우 (is_null()
과 달리) E_NOTICE 오류를 발생시키지 않습니다.
변수가 빈 문자열을 포함하고 있는지 확인하십시오!
'is_null()'이 null인지 아닌지를 확인하고'isset()'가 설정되어 있는지를 검사 할 수도 있습니다. 슬프게도, 당신의 설명은 정확합니다. –
무엇이 질문입니까?
isset()
을 $_POST['key']
에 사용하면이 상황에서 변수 자체가 설정되어 양식에서 전달되므로 true
이 반환됩니다. $_POST['fname']
값을 $fname
변수에 할당하기 때문에 값이 비어 있어도 항상 값이 할당됩니다.
empty()
은 변수에 할당이 없으면 false를 반환합니다.
이것은 완전히 내게 기대됩니다.
fname
이라는 요소가있는 양식을 제출 했으므로 비어 있어도 여전히 설정되어 있습니다.
, isset
이 true로 평가하면 'FNAME'변수가 어쨌든 전송되기 때문이다 아무것도
나에게 맞는 것 같습니다. 입력 필드가 비어있을 때 이 빈 배열에 배열에 이 아닌NULL
이됩니다.
$_POST['fname'] = "";
array_key_exists('fname', $_POST) == true; // independent of its value
다른 사람이 http://stackoverflow.com/questions/1219542/in-를 참조 할 수 있습니다
당신이 할 수있는 것은
$_POST
배열 대신isset
에 확인array_key_exists
를 사용하다 어디에서 사용할 것입니까? 비공개 및 비어 있습니까? rq = 1 – ErichBSchulzRTFM은 *** 아닙니다 *** 유효한 대답입니다. – iconoclast