이 jquery 문장을 고려하십시오.
isTouch = document.createTouch !== undefined
PHP에 비슷한 문이 있는지 알고 싶습니다. isset ()이 아니라 문자 그대로 정의되지 않은 값을 확인합니다.
$isTouch != ""
PHP에서 위와 비슷한 것이 있습니까?
답변
당신이 사용할 수있는 –
$isTouch = isset($variable);
가 정의 되면 반환 true
됩니다 $variable
. 변수가 정의되어 있지 않으면을 반환 false
합니다.
참고 : var가 있고 NULL이 아닌 값이 있으면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.
당신이 확인하고 싶은 경우 false
, 0
등 그런 다음 사용할 수 있습니다 empty()
–
$isTouch = empty($variable);
empty()
작동-
- “” (빈 문자열)
- 0 (정수로 0)
- 0.0 (부동 수로 0)
- “0” (0은 문자열)
- 없는
- 그릇된
- array () (빈 배열)
- $ var; (선언되었지만 값이없는 변수)
답변
또 다른 방법은 간단합니다.
if($test){
echo "Yes 1";
}
if(!is_null($test)){
echo "Yes 2";
}
$test = "hello";
if($test){
echo "Yes 3";
}
반환됩니다 :
"Yes 3"
가장 좋은 방법은 isset ()을 사용하는 것입니다. 그렇지 않으면 “undefined $ test”와 같은 오류가 발생할 수 있습니다.
다음과 같이 할 수 있습니다.
if( isset($test) && ($test!==null) )
첫 번째 조건이 허용되지 않기 때문에 오류가 발생하지 않습니다.
답변
변수가 설정되어 있는지 확인하려면 isset 기능을 사용해야합니다.
$lorem = 'potato';
if(isset($lorem)){
echo 'isset true' . '<br />';
}else{
echo 'isset false' . '<br />';
}
if(isset($ipsum)){
echo 'isset true' . '<br />';
}else{
echo 'isset false' . '<br />';
}
이 코드는 다음을 인쇄합니다.
isset true
isset false
https://php.net/manual/en/function.isset.php 에서 자세히 알아보십시오.
답변
당신이 사용할 수있는 –
POST / GET에 의해 설정된 값을 확인하는 삼항 oprator 또는 이와 같은 것이 아닙니다.
$value1 = $_POST['value1'] = isset($_POST['value1']) ? $_POST['value1'] : '';
$value2 = $_POST['value2'] = isset($_POST['value2']) ? $_POST['value2'] : '';
$value3 = $_POST['value3'] = isset($_POST['value3']) ? $_POST['value3'] : '';
$value4 = $_POST['value4'] = isset($_POST['value4']) ? $_POST['value4'] : '';
답변
비교시 JavaScript의 ‘엄격하지 않음’연산자 ( !==
) 는 값에 영향 을 undefined
주지 않습니다 .false
null
var createTouch = null;
isTouch = createTouch !== undefined // true
PHP에서 동일한 동작을 수행하기 위해 변수 이름이 get_defined_vars()
.
// just to simplify output format
const BR = '<br>' . PHP_EOL;
// set a global variable to test independence in local scope
$test = 1;
// test in local scope (what is working in global scope as well)
function test()
{
// is global variable found?
echo '$test ' . ( array_key_exists('test', get_defined_vars())
? 'exists.' : 'does not exist.' ) . BR;
// $test does not exist.
// is local variable found?
$test = null;
echo '$test ' . ( array_key_exists('test', get_defined_vars())
? 'exists.' : 'does not exist.' ) . BR;
// $test exists.
// try same non-null variable value as globally defined as well
$test = 1;
echo '$test ' . ( array_key_exists('test', get_defined_vars())
? 'exists.' : 'does not exist.' ) . BR;
// $test exists.
// repeat test after variable is unset
unset($test);
echo '$test ' . ( array_key_exists('test', get_defined_vars())
? 'exists.' : 'does not exist.') . BR;
// $test does not exist.
}
test();
대부분의 경우 isset($variable)
적합합니다. 이는 array_key_exists('variable', get_defined_vars()) && null !== $variable
. null !== $variable
존재 여부를 미리 확인하지 않고 사용 하면 값 을 읽으려는 시도이므로 경고와 함께 로그가 엉망이됩니다. 하면 정의되지 않은 변수 만듭니다.
그러나 경고없이 정의되지 않은 변수를 참조에 적용 할 수 있습니다.
// write our own isset() function
function my_isset(&$var)
{
// here $var is defined
// and initialized to null if the given argument was not defined
return null === $var;
}
// passing an undefined variable by reference does not log any warning
$is_set = my_isset($undefined_variable); // $is_set is false
답변
if(isset($variable)){
$isTouch = $variable;
}
또는
if(!isset($variable)){
$isTouch = "";//
}